由于工作需要,经常要登录到多台服务器远程操作,每次都是ssh user@host:port 再输入密码,时间长了,难免觉得乏味…… 故而从度娘那里扒来了一些让SSH免密码登录的办法,其实这也是使用Git比较重要的一环,不能让咱每次push的时候都输一遍密码吧?
网上的说法,太多了,各种版本的都有,在这里,我再稍许的汇总一下。
大致分为3个步骤
step1:客户端,执行 ssh-keygen 命令,生成公匙和私匙,如果没有特殊需要的话,输完这个命令后直接连按回车,就会自动把文件生成到~/.ssh/文件夹中了。
step2:服务器,把客户端生成的~/.ssh/id_rsa.pub中的内容追加到服务器目标用户的~/.ssh/authorized_keys文件中,当然如果没有这个文件就请创建后再添加内容。
step3:服务器,用root身份修改/etc/ssh/sshd_config文件,找到其中被注释掉的 StrictModes yes ,去掉注释,并改为no,再在下面挨着的几行内找到并取消以下两个注释 RSAAuthentication yes PubkeyAuthentication yes
网上的教程,大致只有前面两个步骤,切记要检查或执行第三步骤,否则必定无法使用公匙登录。