一、禁用密码登录

修改/etc/ssh/sshd_config:

将PasswordAuthentication yes

修改为PasswordAuthentication no

重起sshd服务即可。

二、生成密钥文件

使用ssh-keygen命令生产pub文件。

ssh-keygen -t rsa -b 2048

-t rsa指定加密方法,-b 2048产密钥位数。

一直回车,生成没有密码的id_rsa.pub文件。文件位置默认在~/.ssh/id_rsa.pub

三、安装密钥

使用ssh-copy-id 命令安装密钥文件到远程服务器。

ssh -copy-id -i ~/.ssh/id_rsa.pub root@remoteIP.       remoteIP为需要免密码登录的服务器IP。

如果是第一次可能会提示,是否需要添加到信任主机列表里,回答肯定是yes.接下来就是要求输入远程服务器的登录密码。输入后会自动安装完成。

需要注意的是:该命令默认使用远程服务器端口22号,如果更改了端口号,请使用命令

ssh-copy-id -i ~/.ssh/id_rsa.pub "-P port root@remoteIP"

将端口号与登录的名称用“”括起来。

命令如果执行成功,则在远程服务器的/root/.ssh/目录下生成authorized_keys文件。如果原来有这个文件,则追加到文件末尾,可以登录远程服务器验证。

四、免密码登录远程服务器

我以远程服务器IP地址为192.168.1.110为例 ,端口号为20022

ssh -p 20022 root@192.168.1.110

-p后为远程主机的端口号,如果是默认端口22,则可以不加。root为远程登录的用户,如果当前使用是root用户,登录远程也是root,可省略。为了不发生意外,建议使用全格式,即用户名@ip的形式。

五、双机互信

双机互信即是将上述步骤在每个服务器上执行一次,达到双机均免密码登录的效果。