多机器ssh免密码登录的教程,网上有很多,多的数不过来,但是我的安装过程不是很顺利,因为刚开始使用的是普通的user,虽然配置了sudo权限,但是没有root权限,导致了无论如何配置都不能实现免密码登录。最后使用root账号操作了一次,顺利成功。
实现多个机器的ssh免密码登录的核心思想是把每一个机器的rsa公钥集中到一个文件中,并且把这个文件分发到所有的机器上面去。
本文中的机器有三个,如下所示:
172.16.129.8 master
172.16.129.12 slave1
172.16.129.13 slave2
具体操作如下(基于root用户):
Step 1:在master机器上面新建.ssh目录,产生rsa秘钥
master> cd /root
master> mkdir .ssh
master> cd .ssh
master> ssh-keygen -t rsa //之后一路回车,产生秘钥
master> cp id_rsa.pub authorized_keys
Step 2:在slave1机器上面新建.ssh目录,产生rsa秘钥,把master机器上面的authorized_keys拷贝到slave1机器上面
slave1> cd /root
slave1> mkdir .ssh
slave1> cd .ssh
slave1> ssh-keygen -t rsa //之后一路回车,产生秘钥
master> scp authorized_keys slave1:/root/.ssh //注意这个操作是在master机器上面完成的
slave1> cat id_rsa.pub>>authorized_keys
Step 3:在slave2机器上面新建.ssh目录,产生rsa秘钥,把slave1机器上面的authorized_keys拷贝到slave2机器上面
slave2> cd /root
slave2> mkdir .ssh
slave2> cd .ssh
slave2> ssh-keygen -t rsa //之后一路回车,产生秘钥
slave1> scp authorized_keys slave2:/root/.ssh //注意这个操作是在slave1机器上面完成的
slave2> cat id_rsa.pub>>authorized_keys
Step 4:把slave2机器上面的authorized_keys同步到master和slave1上面
slave2> scp authorized_keys master:/root/.ssh
slave2> scp authorized_keys slave1:/root/.ssh
到目前为止,就可以在每一个机器上面ssh访问另外两个机器了,第一次ssh的时候需要输入yes进行确认。
在一个shell中进行多机器切换:
假设当前在master机器上面,已经ssh到了slave1上面,那么如何在shell中回到master上面呢?如果想再次ssh到slave1上面,如何利用之前的ssh连接呢?
从slave1回到当前机器master:
输入~,之后按下CTRL + Z。注意:输入的~是不可见的。
在master中查看当前所有的ssh连接:
master> jobs
快速进入slave1机器:
mster> fg %1
好了,这样就可以轻松地管理多个linux机器了。