CentOS配置SSH单向无密码访问

时间:2023-01-29 07:11:59

最近在研究一款文件系统,需要远程给客户机安装软件,且需要无SSH密码访问,另外需要远程给客户机传文件,每次输入root密码很不方便,就想到用ssh key生成公钥、私钥来验证,而避免每次就必须输入root密码。
 
服务器架构:
系统:CentOS 6.5 x64
主控端A:192.168.0.150
远端主机B:192.168.0.151
 
原理:
  利用ssh key生成公钥、私钥,密钥相当于一把钥匙,而公钥就相当于一把门锁,我们当然是拿着钥匙去开锁,同样的道理,我们密钥放在本地服务器,也就是服务器A,把公钥放在远程服务器,也就是远端主机B,那么我们就可以从主控端A ssh免密码登陆到远端主机B了。
 
步骤:
1、在主控端A主机上生成无SSH密码访问的公钥和私钥文件
[root@localhost ~]# ssh-keygen -t rsaCentOS配置SSH单向无密码访问
注:执行命令中,连续按三次回车即可生成。
 
2、从主控端上传公钥到远端主机B上
[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.0.151CentOS配置SSH单向无密码访问
中间需要输入一次远端主机B的root密码
 
3、在主控端测试无密码SSH远程远端主机B
[root@localhost ~]# ssh root@192.168.0.151CentOS配置SSH单向无密码访问
可以看到已经不输主机B的root密码,即可从A SSH远程到B了。