Windows下SSH登录提示Permission denied (public key)问题求助
解决OVHcloud服务器SSH公钥认证权限拒绝问题
以下是针对Permission denied(public key)错误的排查和解决步骤:
确认公钥已正确配置到服务器
PuTTYgen生成的是公钥+私钥对,你只放置了私钥在本地,但公钥必须同步到OVHcloud服务器的对应用户下:- 打开PuTTYgen,加载你的
key.ppk,复制界面里显示的公钥内容(开头为ssh-rsa或类似格式)。 - 要么通过OVHcloud控制面板的实例管理界面,找到SSH密钥选项并添加该公钥;要么如果还能通过密码登录服务器,手动将公钥追加到
myinstance用户的~/.ssh/authorized_keys文件中,同时确保该文件权限为600,~/.ssh目录权限为700。
- 打开PuTTYgen,加载你的
Windows原生SSH不识别PuTTY格式私钥
你放置的key.ppk是PuTTY专属格式,Windows自带的ssh命令无法直接读取,需要转换为OpenSSH格式:- 打开PuTTYgen,点击
Conversions->Export OpenSSH key,将私钥保存为id_rsa(路径选C:\Users\toto\.ssh)。 - 之后执行
ssh myinstance@ipaddr即可,或者手动指定私钥路径:ssh -i C:\Users\toto\.ssh\id_rsa myinstance@ipaddr
- 打开PuTTYgen,点击
检查本地私钥文件权限
Windows下需确保C:\Users\toto\.ssh目录和私钥文件的权限仅当前用户可读写,避免权限过宽导致SSH客户端拒绝使用该密钥。验证服务器端SSH配置
登录服务器检查/etc/ssh/sshd_config文件:- 确认
PubkeyAuthentication yes和AuthorizedKeysFile .ssh/authorized_keys这两行未被注释。 - 修改后重启SSH服务:
sudo systemctl restart sshd(Debian/Ubuntu)或sudo systemctl restart sshd.service(RHEL/CentOS)
- 确认
内容的提问来源于stack exchange,提问作者Pathia Nanto
相关产品推荐
相关产品推荐

