以下内容转自网络:
两台LINUX主机之间要互传文件时可使用SCP命令来实现
1. 需要输入密码:
$ cd cd /home/tony/.ssh/
$ scp id_rsa.pub root@172.17.12.57:/root/.ssh/authorized_keys
(然后输入172.17.12.57那台机器下的root密码,便可以传输文件id_rsa.pub
到,远程机器/root/.ssh/下,并改名为authorized_keys)
2. 不需要输入密码:
***不需要输入密码,就需要在两台机器之间建立信任关系:把本地主机用户的ssh
公匙文件复制到远程主机用户的~/.ssh/authorized_keys***
$ ssh-keygen
(一路回车下去,然后会在/home/tony/.ssh/目录下生成id_rsa和id_rsa.pub
两个文件,然后将id_rsa.pub文件传输到远程机。)
$ scp /home/tony/.ssh/id_rsa.pub root@172.17.12.57:/root/.ssh/
(实现了将id_rsa.pub传输到远程机器的/root/.ssh/目录下)
$ ssh root@172.17.12.57
(输入密码后,便可以通过ssh登录到远程机器,并且用root用户登录,这里如果直
接输入ssh 172.17.12.57登录,是用默认的tony用户登录的,原来是不需要
putty软件的啊,原来telnet和ssh是一样啊)
# cd .ssh
# mv id_rsa.pub authorized_keys
(这条命令执行过后,在exit出来后,会发现ssh root@172.17.12.57不再需要
密码了,从此scp的操作也不再需要密码了,原来scp就是ssh copy 的简写啊,
乱说的,没经过考证)
***疑问:不知道为什么,我用ssh-keygen -f 生成对应的文件,复制过去却不管
用***
3. 多台机器拥有一台机器的认证
基本操作同上类似,但是进入到远程主机的.ssh/目录下有两种可供选择的:
a. # cat id_rsa.pub >> authorized_keys
(显示的,这是一种追加形式,可以满足要求)
b. # mv id_rsa.pub authorized_keys2
(这个不错啊,笔者本人也是蛮喜欢这种方式的)
4. scp -p
scp -p 这个操作还是蛮有用的,可以保持文件属性不变。
$ scp -p root@172.17.12.57:/root/scrun.log .
(复制了远程机器上的scrun.log到当前目录下".",并且文件属性没有改变哦,
创建时间之类的都没改变啊)
5. scp -r
scp -r 这个r选项大家应该是熟悉的吧,不熟悉,自己骂自己一直在干嘛吧,r显示是
recursion即递归的意思啊,cp操作中都带的,想必也是很容易猜测r在这里是什
么意思吧,是可以传递文件夹(夹带了文件的传输哦)
$ scp -r SVN/ root@172.17.12.57:/root/
(OK, 传输成功了)