具体配置:

前题需要关闭iptables和SELinux

1、打开ssh配置文件,启用以下选项

vim /etc/ssh/sshd_config

RSAAuthentication yes   #允许RSA认证

PubkeyAuthentication yes  #允许公钥认证

AuthorizedKeysFile      .ssh/authorized_keys  #公钥存放地址

#PermitRootLogin yes 如果要以root身份ssh互信登陆,此选项目一定不要启用


2、重启ssh服务

/etc/init.d/sshd restart


3、生成公钥和私钥:

ssh-keygen -t rsa  -P ""

 -P表示密码,-P “”就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。

 默认在 ~/.ssh目录生成两个文件,私钥id_rsa和公钥id_rsa.pub。



4、导入公钥到认证文件中,更改权限

    2.1 导入到本机authorized_keys文件中(作为备份用)

        cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 


    2.2 导入到要免密码登录服务器的authorized_keys文件中

        首先将公钥复制到服务器

        scp ~/.ssh/id_rsa.pub xxx@host:/home/id_rsa.pub 


        然后,将公钥导入到认证文件(这一步的操作在对方服务器上进行)

        Shell代码:  cat /home/id_rsa.pub >> ~/.ssh/authorized_keys 

 

    2.3 在服务器上更改权限

        chmod 700 ~/.ssh

        chmod 600 ~/.ssh/authorized_keys 



5、测试登陆

ssh 192.168.111.111

如果ssh不是默认端口,要在ssh命令后加 -p 端口号

例如:

ssh -p 10000 192.168.111.111


修改ssh客户端默认连接端口

vim /etc/ssh/ssh_config

将配置文件中启用对应port xxx 端口 与sshd_config中设置的端口相同

下面再连接时,就不需要再输入-p 端口号了



6、断开ssh登陆

   exit


7、多台服务器间相互ssh信任,只需多台服务器上做以上相同操作方可.