scp copy文件时不需要提示密码
把你的本地主机用户的ssh公匙文件写入到远程主机用户的~/.ssh/authorized_keys文件中,具体方法
假设本地主机test1,远程主机test2
一,在test1主机里的用户
运行ssh-keygen-trsa
结果如下
Generatingpublic/privatersakeypair.
Enterfileinwhichtosavethekey(/home/bob/.ssh/id_rsa):
Createddirectory'/home/bob/.ssh'.
Enterpassphrase(emptyfornopassphrase):
Entersamepassphraseagain:
Youridentificationhasbeensavedin/home/bob/.ssh/id_rsa.
Yourpublickeyhasbeensavedin/home/bob/.ssh/id_rsa.pub.
Thekeyfingerprintis:
b7:99:2b:88:0b:02:1d:a0:d5:68:bd:bb:00:86:d2:[email protected]
会在bob用户目录~/.ssh/产生两个文件,id_rsa,id_rsa.pub
其中id_rsa为私钥,id_rsa.pub为公钥
二,把id_rsa.pub 文件拷贝到test2主机的用户目录下,如root目录下cat id_rsa.pub 把里面的内容复制到test2主机的用户目录 .ssh/authorized_keys中就可以了。这样test1主机的用户就可以通过ssh而不用密码登陆 test2主机
注意:如果已经配置过git环境,就不用执行第一步了,直接把id_rsa.pub里面的复现粘贴到,你要拷贝到的主机用户目录的
.ssh/authorized_keys里面就可以了。
三、现在我们把test1主机的内容copy到test2主机时就不需要提示密码了。
scp /root/a.txt root@test2:/root/ 不需要输入密码例如scp -r /home/dengkai/ReadMe.txt [email protected]:/home/dengkai/
如果要用其他用户去验证的话,那么在步骤二中我们就需要把公钥copy到对应用户的.ssh/authorized_keys即可。
四 、通过上面三个步骤的实现 ,当我们写脚本来使用scp来copy文件时就很方便了转载自:http://stephen830.iteye.com/blog/632748