环境背景:现有A,B两台服务器。A有gitlab,B是部署环境,需要在A环境上执行shell脚本,shell脚本中包含ssh roo@*.*.*.*等等,
此时需要ssh 免密登录。
1、
在A上执行: cd /root/.ssh
在/root/.ssh目录下是否有id_rsa和id_rsa.pub两个文件,如果没有则执行下面操作,有的话就不需要操作(不然会覆盖私钥和公钥,如果这台机器有免密登录其他机器,那其他机器也要替换新的公钥了)
在A上执行:ssh-keygen -t rsa
3个回车键,不用输入密码,生成两个文件:
/root/.ssh/id_rsa
/root/.ssh/id_rsa.pub
2、
将公钥发送给B机器,scp /root/.ssh/id_rsa.pub root@xx.xx.xx.xx:/root/.ssh/
在B机器的/root/.ssh/目录下生成authorized_keys文件(有就不需要再次生成):
touch /root/.ssh/authorized_keys
将公钥的内容追加到authorized_keys文件后
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
3、测试一下在A机器上执行 ssh B的IP
在A机器退出登录B,执行exit
4、完成
相关阅读: