You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PuTTY生成ssh-rsa密钥连接Ubuntu16.04时遇Server refused our key错误

解决Ubuntu 16.04 SSH连接时“Server refused our key”的问题

别担心,这个问题在使用PuTTY RSA密钥连接老版本Ubuntu时很常见,大概率是权限配置或者服务器端的小问题,咱们一步步排查解决:

1. 检查服务器端~/.ssh目录和密钥文件的权限

SSH对密钥相关文件的权限要求非常严格,这是最容易踩坑的地方。先通过密码登录到你的Ubuntu服务器,执行以下命令:

# 设置.ssh目录权限为700(只有所有者能读写执行)
chmod 700 ~/.ssh
# 设置authorized_keys文件权限为600(只有所有者能读写)
chmod 600 ~/.ssh/authorized_keys
# 确保文件和目录属于你的用户,替换成你的用户名
chown your_username:your_username ~/.ssh -R

可以用ls -ld ~/.ssh和ls -l ~/.ssh/authorized_keys确认权限和所有者是否正确。

2. 确认authorized_keys里的公钥格式正确

你用PuTTY生成的ssh-rsa开头的公钥,必须完整无错地复制到服务器的~/.ssh/authorized_keys文件中:

  • 打开PuTTYgen,复制窗口里显示的完整公钥文本(包括结尾的注释,比如rsa-key-xxxxxx)
  • 在服务器上用nano ~/.ssh/authorized_keys打开文件,把公钥粘贴进去,确保没有换行、空格错误或者多余字符。

3. 检查SSH服务器的配置

Ubuntu 16.04的sshd默认支持RSA密钥,但有可能配置被修改了。打开配置文件:

sudo nano /etc/ssh/sshd_config

找到以下配置项,确保它们的设置如下(如果被注释了就去掉前面的#):

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

修改后重启SSH服务生效:

sudo service ssh restart

4. 验证PuTTY的私钥配置

在PuTTY的会话设置里:

  • 左侧导航到Connection -> SSH -> Auth,点击Browse选择你生成的.ppk私钥文件,别选错了
  • 可以在Connection -> Data里设置自动登录的用户名,避免手动输入错误导致认证失败

5. 查看服务器日志定位具体问题

如果前面的步骤都没解决,查看服务器的认证日志找线索:

sudo tail -f /var/log/auth.log

然后尝试用PuTTY连接,日志里会显示拒绝密钥的具体原因,比如“Permissions 0755 for '/home/user/.ssh' are too open”或者“invalid key format”,根据日志提示针对性解决。

内容的提问来源于stack exchange,提问作者ashishcompwiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:31:28