在现代的开发和运维工作中,经常需要通过 SSH 登录远程服务器进行操作。然而每次登录都需要输入密码不仅繁琐,而且容易出错,这无疑大大降低了工作效率。而设置免密登录可以有效解决这个问题。它可以提高工作速度,减少重复性的输入密码操作,让我们更专注于实际的任务。
二、生成SSH密钥对
要在本地机器上设置免密登录远程服务器,首先要确保已经正确安装了OpenSSH。如果还没有安装,可以通过包管理器(如apt、yum等)来安装它。接下来,使用ssh-keygen命令创建一个新的SSH密钥对。运行此命令后,系统会提示你选择保存私钥的位置,默认情况下为~/.ssh/id_rsa。还可以设置一个密码来保护私钥的安全性,但这不是必须的。如果不希望在使用私钥时被要求输入密码,则直接按回车键跳过即可。一旦生成了SSH密钥对,就可以将公钥复制到远程服务器上,以实现免密登录。
三、将公钥添加到远程服务器
有多种方法可以将公钥添加到远程服务器中。最简单的方法是使用ssh-copy-id命令。只需提供远程服务器的用户名和IP地址作为参数,该命令就会自动将公钥添加到远程服务器上的~/.ssh/authorized_keys文件中。例如:ssh-copy-id user@server_ip。也可以手动将公钥内容添加到远程服务器上的~/.ssh/authorized_keys文件中。在本地机器上打开~/.ssh/id_rsa.pub文件,并复制其中的所有内容。然后,通过SSH登录到远程服务器,打开或创建~/.ssh/authorized_keys文件,并将之前复制的内容粘贴进去。保存并关闭文件,确保只有用户自己拥有读写权限,即执行chmod 600 ~/.ssh/authorized_keys命令。
四、验证免密登录是否成功
完成上述步骤之后,尝试从本地机器通过SSH连接到远程服务器,但不需要再输入密码,即表示设置成功。如果仍然需要输入密码,请检查以下几个方面:确认本地机器上的私钥路径是否正确;检查远程服务器上的~/.ssh/authorized_keys文件是否有误;确保远程服务器的SSH配置允许使用公钥认证方式。通常,可以在/etc/ssh/sshd_config文件中找到相关设置。如果所有这些都正常,但仍然无法实现免密登录,那么可能需要进一步排查问题,如查看日志文件等。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/77648.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。