您的位置:首页 > 运维架构 > Linux

linux系统之间ssh免密码登录

2015-12-16 17:42 513 查看
在服务器上部署工程项目,机器很多,通过中间服务器登录每次都要输入密码,感觉很麻烦,现在机器都定下来了,我决定把中间服务器和目标服务器改为公钥/私钥认证, 就不需要每次登录都需要输入密码了。

1:如果中间服务器你是以root登录的,想以root登录到目标服务器

1.1:在中间服务器上 cd /root/.ssh

该文件夹下应该有id_rsa.pub,这是公钥,如果没有该文件就执行 ssh-keygen -t rsa ,程序会询问你存放路径,两次回车,就会生成id_rsa.pub文件,然后

scp -P 22 ./id_rsa.pub  root@10.0.0.1:/root/.ssh/id_rsa_bank.pub

输入root密码

拷贝到目标服务器的文件名称最好不要用id_rsa.pub,以免覆盖目标服务器上已有的,

1.2:登录到目标服务器,cd /root/.ssh

如果该文件夹下已经存在authorized_keys这个文件 ,cat id_rsa_bank.pub >> authorized_keys,这是把 id_rsa_bank.pub的内容增加到authorized_keys

如果不存在 cp  id_rsa_bank.pub authorized_keys,然后rm -rf id_rsa_bank.pub

现在中间服务器就可以不需要密码以root权限登录到目标服务器了

2:如果中间服务器你是以root登录的,想以某个用户,比如tom,登录到目标服务器

2.1:在中间服务器上 cd /root/.ssh

如果没有id_rsa.pub,执行ssh-keygen -t rsa,然后

scp -P 22 ./id_rsa.pub  tom@10.0.0.1:/home/tom/.ssh/id_rsa_bank.pub

如果提示没有.ssh文件夹,以tom登录到目标表服务器 mkdir /home/tom/.ssh

2.2:在目标服务器上(以tom用户登录)

cd /home/tom/.ssh

cat id_rsa_bank.pub >> authorized_keys

然后chmod 600 authorized_keys

然后chmod 700 /home/tom/.ssh

现在中间服务器就可以不需要密码以tom用户登录到目标服务器了

3:如果你是以某个用户,比如sun用户登录的中间服务器,想以root登录到目标服务器

3.1:在中间服务器上 cd /home/sun/.ssh

如果没有id_rsa.pub,执行ssh-keygen -t rsa

然后 scp -P 22 ./id_rsa.pub  root@10.0.0.1:/root/.ssh/id_rsa_bank.pub:3.2:登录到目标服务器,cd /root/.ssh

然后 cat id_rsa_bank.pub >> authorized_keys

现在中间服务器就可以不需要密码以root权限登录到目标服务器了

4:如果你以sun用户登录的中间服务器,想以tomt登录到目标服务器 :4.1:在中间服务器上 cd /home/sun/.ssh

如果没有id_rsa.pub,执行ssh-keygen -t rsa

然后 scp -P 22 ./id_rsa.pub  tom@10.0.0.1:/home/tom/.ssh/id_rsa_bank.pub

4.2:然后以tom登录到目标服务器

cd /home/tom/.ssh

cat id_rsa_bank.pub >> authorized_keys

然后chmod 600 authorized_keys

然后chmod 700 /home/tom/.ssh

现在中间服务器就可以不需要密码以tom用户登录到目标服务器了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux ssh