在云计算环境下,我们经常需要通过SSH协议来对云服务器进行远程管理。而每次登录都需要输入密码的方式既麻烦又不安全,因此实现免密远程登录就显得尤为重要。
二、生成本地密钥对
在自己的电脑上打开命令行工具,例如Windows系统中的Git Bash或者Linux系统的终端等。
然后执行ssh -keygen命令,按提示操作。一般情况下直接连续三次回车即可,这样就在默认目录下(~/.ssh/)生成了公钥id_rsa.pub和私钥id_rsa。公钥可以被公开,但私钥一定要妥善保管。
三、将公钥传输到云服务器
如果之前没有连接过这台云服务器,先使用ssh root@云服务器IP地址的方式登录进去,并按照提示设置好root用户的密码。
接下来再退出云服务器,回到本地命令行中。使用scp ~/.ssh/id_rsa.pub root@云服务器IP地址:/root/.ssh/authorized_keys命令把公钥文件发送到云服务器的/root/.ssh/目录下的authorized_keys文件里。注意:发送前要确保云服务器的该目录已经存在,若不存在则先创建它;并且要保证authorized_keys文件的权限为600,可通过chmod 600 authorized_keys来设置。
四、配置云服务器端
再次登录云服务器,编辑/etc/ssh/sshd_config文件。找到如下几行:
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
去掉前面的#号注释,并且检查其他相关配置项是否正确。比如PasswordAuthentication选项应该设置为no以禁止密码登录,当然如果你还想保留密码登录作为备用的话也可以设置为yes。完成编辑后保存文件并退出。
最后重启SSH服务使配置生效。对于CentOS系统来说是systemctl restart sshd,Ubuntu则是service ssh restart。
五、测试免密登录
返回本地命令行,尝试直接用ssh root@云服务器IP地址登录云服务器。如果一切正常,此时就不需要再输入密码而直接进入了。至此,云服务器的免密远程登录就设置完成了。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/60638.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。