背景

最近在维护mongo集群与spider集群之中,经常来回ssh 登录,非常的不方便,以下的操作可以省去大部分的工作精力

简短命令

我们可以切换到本地的ssh config 目录来重命名,这样就可以不用输入ip了

cd ~/.ssh/
vim config

结果展示

Host mongo001
    HostName 192.168.8.4
Host mongo002
    HostName 192.168.8.5
Host mongo003
    HostName 192.168.8.6

免登录

1.在A机下生成公钥/私钥对

[hadoop@wang-PC ~]$ ssh-keygen -t rsa -P ''
  敲击回车键即可,它在/home/hadoop下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。

2.把A机器下的id_rsa.pub复制到B机器下的.ssh/authorized_keys文件里

[hadoop@wang-PC ~]$ scp .ssh/id_rsa.pub hadoop@192.168.10.107:/home/hadoop/id_rsa.pub.hadoop_wang
hadoop@192.168.10.107's password

由于还没有免密码登录的,所以要输入密码

3.B机把从A机复制的id_rsa.pub.hadoop_wang添加到.ssh/authorzied_keys文件里

[hadoop@chen-PC ~]$ cat id_rsa.pub.hadoop_wang >> .ssh/authorized_keys
[hadoop@chen-PC ~]$ chmod 600 .ssh/authorized_keys

authorized_keys的权限要是600

4.A机登录B机

[hadoop@wang-PC ~]$ ssh 192.168.10.107

第一次登录是时要你输入yes,现在A机可以无密码登录B机了

5. 重启服务

如果出现还是无法登录的情况,有可能需要重启sshd服务,使用命令

service sshd restart

小结

登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub),想让A,B机无密码互登录,那B机以上面同样的方式配置即可,把B的公钥复制过去添加到authorized_keys的末尾就行了,以上在需要登录192.168.8.4这台机器上时,可以直接ssh mongo001就可以了。相当方便