需求:server1 的service账号需要免密ssh登录到server2,假如server1 :172.0.0.1,server2:172.0.0.2
1.在server1上执行ssh-keygen生成公钥秘钥;
2.用service账号登录server2,切到/home/service目录,看.ssh目录是否存在(如果不存在就创建),
vim authorized_keys ,将server1生成的/home/service/.ssh/id_rsa.pub的内容复制到authorized_keys
复制后的效果:3.如果复制后,从server1 执行ssh server2,报错:ssh_exchange_identification: read: Connection reset by peer
应用服务器拒绝访问,需要在执行:
vim /etc/hosts.allow
并添加
sshd:server1IP
4.如果第一次连接提示输入service账号的密码
需要修改.ssh的权限为700,authorized_keys的权限为600:
chmod 700 .ssh
chmod 600 authorized_keys
5.如果修改了 .ssh和authorized_keys还是提示需要密码。
检查被访问服务器的/etc/ssh/sshd_config,如果有配置AllowUsers ,需要追加service账号,默认是所有账号可以访问,如果配置了AllowUsers,只允许空格分隔的白名单用户访问
6.如果是root免密登录:
新节点在/etc/ssh/sshd_config文件中,PermitRootLogin值是no,为no时会限制root用户无密码授信,需要改成yes,修改后执行system restart sshd命令重启ssh服务