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

相关推荐