在一些受信任的环境中配置免密码登录,是比较方便的;而对于ansible等自动化工具配置免密码登录更是必要的。
免密码登录的要点就是,把想让服务器信任的客户机的公钥发送到服务器。
当客户机连接服务器时直接发送公钥过去服务端如果发现本机上存了该公钥,则直接使用公钥加密通信而不再要求进行口令认证。
下边我以10.25.160.204为客户端,10.25.160.196为服务端,204要免密码登录196为例:
一、204生成密钥对
ssh-keygen -t rsa -P ''
二、204将其公钥文件追加到196的authorized_keys文件中
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.25.160.196
三、196编缉/etc/ssh/sshd_config将AuthorizedKeysFile
的#去掉,然后重启ssh(有些机器此步可以不用?)
vi /etc/ssh/sshd_config /etc/init.d/ssh restart