国外VPS Linux:SSH密钥免密码登录配置教程
文章分类:售后支持 /
创建时间:2026-01-02
在使用国外VPS的过程中,SSH(安全外壳协议)密钥登录是比密码登录更安全的选择。它通过非对称加密技术(公钥加密、私钥解密)验证身份,能有效避免因密码弱、泄露或暴力破解导致的安全隐患。下面以Linux系统为例,详细讲解如何配置SSH密钥免密码登录。
第一步:生成SSH密钥对
SSH密钥登录的核心是一对“公钥+私钥”组合。公钥留在国外VPS上用于验证,私钥由用户妥善保管用于身份确认。生成密钥对需在本地电脑操作,打开终端输入命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"参数说明:`-t rsa`指定使用RSA加密算法(目前广泛应用的非对称加密方式);`-b 4096`设置密钥长度为4096位(NIST推荐的最小安全长度);`-C`后的邮箱是注释信息,方便区分不同用途的密钥。
执行后会提示选择密钥保存路径,默认保存在用户目录的`.ssh`文件夹下(如`/home/用户名/.ssh/id_rsa`),直接回车使用默认路径。接下来可设置密钥密码(可选):若希望完全免输入密码登录,直接回车跳过;若想增加一层保护(比如私钥丢失时),可输入自定义密码。
注意:生成后需确保`.ssh`目录权限为700(仅当前用户可读写),私钥文件`id_rsa`权限为600,避免其他用户读取导致私钥泄露。
第二步:将公钥复制到国外VPS
生成的公钥文件是`id_rsa.pub`,需要同步到国外VPS的指定位置才能生效。推荐两种方法:
**方法一:使用ssh-copy-id自动复制**
Linux系统自带`ssh-copy-id`工具,能自动完成公钥复制和权限设置。在终端输入:
ssh-copy-id 用户名@VPS公网IP按提示输入VPS当前登录密码,工具会自动将公钥写入VPS的`~/.ssh/authorized_keys`文件,并设置正确权限(该文件权限需为600,否则SSH服务可能拒绝读取)。
**方法二:手动复制公钥**
若本地没有`ssh-copy-id`(如Windows系统),可手动操作:
1. 打开本地`id_rsa.pub`文件,复制全部内容;
2. 通过`ssh 用户名@VPS公网IP`登录VPS;
3. 检查`~/.ssh`目录是否存在(不存在则创建:`mkdir -p ~/.ssh`);
4. 编辑`~/.ssh/authorized_keys`文件(`vim ~/.ssh/authorized_keys`),粘贴公钥内容后保存退出。
注意:手动操作时需确保`authorized_keys`文件无多余空格或换行,且仅当前用户有读写权限。
第三步:测试密钥登录并优化配置
完成公钥同步后,测试是否能免密码登录。在终端输入:
ssh 用户名@VPS公网IP若成功登录且未提示输入密码,说明配置生效。若无法登录,可能是以下原因:
- 公钥未正确写入`authorized_keys`文件,需检查文件内容;
- SSH服务未启用密钥认证,需修改VPS的`/etc/ssh/sshd_config`配置文件,确保以下两项开启:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys修改后需重启SSH服务使配置生效(命令:`sudo systemctl restart sshd`)。
最后建议禁用密码登录进一步提升安全:在`sshd_config`中找到`PasswordAuthentication`项,设置为`no`,重启服务后仅能通过密钥登录。
掌握这些步骤后,你就能在国外VPS的Linux系统上实现SSH密钥免密码登录,既省去频繁输入密码的麻烦,又能有效抵御暴力破解等攻击,为远程管理加上一道可靠的安全锁。
工信部备案:苏ICP备2025168537号-1