前言
最近有一个项目让我们做一个部署的功能,简单说就是在一台linux服务器上维护多台服务器。这就需要服务器之间进行免密登录的认证
具体步骤
首先需要指定一台主机作为信任主机,这样从这台主机远程登陆其他主机就不需要密码了。那么如何设计信任主机呢?
假设有四台机器:192.168.2.1~192.168.2.4,其中192.168.2.1为信任机,那么在192.168.2.1上一次运行如下命令:
ssh-keygen -t rsa //生成密钥,此处一路回车
scp ~/.ssh/id_rsa.pub root@192.168.2.2:~/ //把密钥拷贝到其他远程机器
ssh 192.168.2.2 'cat id_rsa.pub >> .ssh/authorized_keys' //在远程机器上生成认证文件
经过以上几个步骤从192.168.2.1登录到192.168.2.2就不需要密码了。同样的步骤再去执行其他机器即可。