在使用云服务器时,我们经常需要通过SSH协议远程登录到服务器进行操作。而每次登录都需要输入密码可能会降低效率,所以很多用户会选择设置SSH免密登录。
一、准备工作
1. 您需要一台本地计算机,并且安装有支持SSH客户端(如:Linux自带的ssh工具、Windows下的PuTTY等)。
2. 需要拥有云服务器的root权限或者具有sudo权限的普通用户账号。
3. 确认云服务器已正确安装并配置了OpenSSH服务端软件。
二、生成公私钥对
在本地机器上打开终端或命令行窗口,执行如下命令来创建一对新的RSA密钥:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
这里,“-t”指定了密钥类型为rsa;“-b”设置了密钥长度为4096位;“-C”后面则是给这个密钥添加一个标签,可以是您的邮箱地址或者其他标识信息。
接着,系统会提示您输入保存密钥的位置,默认情况下会在~/.ssh目录下以id_rsa和id_rsa.pub文件的形式保存私钥和公钥。如果您不希望更改默认位置,直接按回车键即可。之后还会询问是否设置passphrase(密码短语),为了实现完全免密码登录,请留空并再次按回车键确认。
三、将公钥复制到云服务器
接下来,我们需要把刚刚生成好的公钥上传到云服务器。有两种方法可以完成这一步骤:
(一) 使用ssh-copy-id命令
如果您的本地环境支持该命令,那么只需运行以下指令:ssh-copy-id user@server_ip
其中,“user”是您在云服务器上的用户名,“server_ip”则是云服务器的IP地址。执行这条命令后,程序会自动将本地的公钥追加到远程主机的~/.ssh/authorized_keys文件中。
(二) 手动复制粘贴
若无法使用上述命令,则可以通过以下步骤手动添加公钥:
1. 在本地电脑上用文本编辑器打开刚才生成的公钥文件(即~/.ssh/id_rsa.pub),复制里面的内容。
2. 登录到云服务器,确保存在~/.ssh目录,如果没有则创建它(mkdir -p ~/.ssh)。然后使用vi或其他文本编辑器打开authorized_keys文件(touch ~/.ssh/authorized_keys; vi ~/.ssh/authorized_keys),将之前复制的公钥内容粘贴进去,保存并退出编辑器。
3. 设置正确的权限:chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
四、测试连接
现在,返回本地终端,尝试使用SSH连接到云服务器:ssh user@server_ip
如果一切顺利的话,这次就不需要再输入密码了!如果您遇到任何问题,请检查之前的每一步骤是否正确无误。
五、注意事项
1. 公钥认证方式虽然方便,但也存在一定安全风险。请妥善保管好私钥文件,不要将其暴露在网络上或共享给他人。
2. 如果您想要撤销某台设备的免密访问权限,只需要从云服务器上的~/.ssh/authorized_keys文件中删除对应的公钥即可。
3. 对于多台不同设备登录同一台云服务器的情况,可以在本地分别为每个设备生成不同的密钥对,并分别上传到云服务器。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/58564.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。