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

Linux系统之间免密登录

2014-02-25 21:08 274 查看

Explanation

首先解释一下公钥和私钥(在网上看到的,觉得不错,可以让更多人更容易理解,在此表示感谢),一个很形象的比喻,就是公钥是锁头,私钥是钥匙,你要无密钥登录到某台机器上,必须拿着你的私钥打开相应的锁头;因此如果某台机器允许许多人打开的话,就会存有这许多人的公钥

Method:

以Ubuntu为例,在每台机器上安装ssh之后(sudo apt-get install ssh),修改/etc/ssh/ssh_config(sudo),将StrictHostKeyChecking设置为no,使得连接时可以自动将对应主机IP加入到know_hosts之中,免去ask选择的麻烦。

接着在每台机器上执行ssh-keygen -t rsa生成私钥公钥在~/.ssh/目录下,然后将每台机器的公钥id_rsa.pub都追加到其中一台机器的authorized_keys中,最后拷贝到所有机器上,即使得每台机器都拥有其他所有机器的公钥,这样各主机之间就能通行无阻了。

如果觉得到每台机器上都生成各自的私钥密钥太麻烦,可以采用以下简单方法,但是可能不太安全。

比如有N台机器,可以在其中一台机器上ssh-keygen -t rsa生成私钥id_rsa和公钥id_rsa.pub,然后将生成的公钥id_rsa.pub追加到本机的authorized_keys;接下来就是把这台机器上的私钥id_rsa复制到其他N-1台机器上,并且把这台机器上的公钥id_rsa.pub追加到authorized_keys之后,最后修改相应的权限,chmod 600 id_rsa

即让所有机器都拥有相同的公钥和私钥。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: