在Linux VPS(虚拟专用服务器)中,SSH(Secure Shell)是用于远程登录和管理的协议。为了提高安全性并简化登录流程,我们可以设置SSH密钥对来代替传统的密码验证。SSH密钥对由一个公钥和一个私钥组成,私钥保存在本地计算机上,而公钥则需要添加到远程VPS的授权密钥列表中。
二、生成SSH密钥对
1. 打开终端,在命令行输入:ssh-keygen -t rsa -b 4096,该命令会创建一个基于RSA算法且长度为4096位的密钥对。其中,rsa表示加密算法类型,4096是密钥长度,通常情况下,长度越长,破解难度越大,但同时也会降低加密与解密的速度。
2. 接着会让你选择保存密钥的位置,默认路径是~/.ssh/id_rsa,直接按回车即可。如果你想给密钥设置一个密码(passphrase),可以按照提示输入;如果不想要密码保护,则直接再次按回车跳过。建议为私钥设置密码以增加安全性,即使私钥文件泄露,没有密码也无法使用。
三、将公钥复制到VPS
1. 如果你的VPS支持通过ssh-copy-id命令自动配置,那么只需执行:ssh-copy-id user@your_vps_ip_address,user是你在VPS上的用户名,your_vps_ip_address则是VPS的IP地址。此命令会将本地生成的公钥添加到VPS上的 ~/.ssh/authorized_keys 文件中,并适当设置权限。它还会询问你当前VPS账户的密码,这是最后一次需要密码登录了。
2. 若无法使用上述命令,可以通过以下步骤手动添加公钥:
① 使用scp命令将本地公钥传输到VPS:scp ~/.ssh/id_rsa.pub user@your_vps_ip_address:~/
② 登录到VPS后,运行命令:cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
③ 然后删除临时上传的公钥文件:rm ~/id_rsa.pub
④ 最后确保 authorized_keys 文件只有所有者具有读写权限:chmod 600 ~/.ssh/authorized_keys
四、禁用密码登录(可选)
当确认SSH密钥登录正常工作后,可以考虑禁用密码登录以进一步增强安全性。编辑 /etc/ssh/sshd_config 文件,找到 PasswordAuthentication yes 这一行,将其改为 no 。修改完成后,记得重启SSH服务:systemctl restart sshd 或 service sshd restart。
五、测试新的登录方式
现在你可以尝试从本地计算机使用 SSH 客户端连接到 VPS,无需输入密码即可成功登录。如果之前设置了私钥密码,在首次连接时会要求输入该密码。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/103643.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。