在管理Linux服务器的时候,经常需要登录,每台服务器都需要记住并输入相应的用户名和密码,非常麻烦。所以这里我们配置服务器免密码登录,方便我们管理和演示配置环境:客户端Mac。服务器:Ubuntu16.04首先放一张图介绍一下免密登录的原理,转换成图片:生产配置前本地配置公钥/私钥,检查一下你之前是否配置过,如果配置过before,重新生成,会覆盖之前的记录,导致你之前配置的记录失效执行命令生成ssh-keygen-rrsa-Ctest@qq.com执行这条命令后,会生成一个.ssh文件夹在用户根目录下创建。它会让你输入密码,你不需要设置密码,直接回车即可。这里,id_rsa是私钥,id_rsa.pub是公钥。至于konwn_hosts文件,是登录服务器后自动生成的。用户保存远程服务器的指纹信息上述生成秘钥命令中的-r参数是制定加密算法,-C参数是制定邮箱。对于window系统,需要安装git客户端msysgit配置服务器。需要将客户端产生的公钥id_rsa.pub的内容复制到服务器对应用户根目录下的.ssh/authorized_keys文件中。如果该文件不存在,您可以手动创建该文件。也可以在服务上生成公钥/私钥。要执行的命令与上面的第一步相同。也可以直接使用ssh-copy-iduser@host命令直接复制到远程服务器。为了防止出错,建议使用这个命令复制客户端的公钥,有时可能会修改authorized_keys文件的权限chmod600authorized_keys接下来查看ssh配置文件/etc/ssh/sshd_config中的配置项是否启用了RSAAuthenticationyesPubkeyAuthenticationyesAuthorizedKeysFile%h/.ssh/authorized_keys确保以上各项都开启了,最后重启sshservicesshrestart如果不注释掉,那么就可以免密码登录了,不过还是需要输入每次的用户名和主机地址,可以在本地配置。如果你安装zsh添加到.zshrc文件中。如果没有安装,默认在.bashrc文件中添加aliasssh_nameuser@host。执行source.zshrc或source.bashrc即可生效。配置文件扫描关注,多看文章,提高编程水平