Django部署:SSH登录新用户djangoadmin提示公钥权限拒绝
SSH公钥登录Permission Denied问题排查与解决
操作场景
部署Django过程中,完成以下操作后出现登录失败:
- 以root身份登录服务器:
ssh root@my_server_ip - 创建并配置新用户:
adduser djangoadmin usermod -aG sudo djangoadmin - 为用户配置SSH密钥:
粘贴密钥后按cd /home/djangoadmin mkdir .ssh cd .ssh nano authorized_keysctrl-x,按y保存并按enter退出。
执行登录命令时触发错误:
C:\Users\User>ssh djangoadmin@142.93.107.127
djangoadmin@142.93.107.127: Permission denied (publickey)
解决步骤
- 修正目录与文件权限:SSH对密钥文件权限有严格要求,必须设置为仅所有者可读写,以root身份执行以下命令:
chown -R djangoadmin:djangoadmin /home/djangoadmin/.ssh chmod 700 /home/djangoadmin/.ssh chmod 600 /home/djangoadmin/.ssh/authorized_keys - 检查公钥有效性:确认粘贴到
authorized_keys的是本地机器的公钥内容(通常为id_rsa.pub或id_ecdsa.pub文件里的内容),公钥开头会有ssh-rsa、ssh-ed25519等标识,结尾是本地用户名@主机名,不要粘贴私钥。 - 验证SSH服务配置:编辑SSH配置文件:
确保以下配置项未被注释且设置正确:nano /etc/ssh/sshd_config
修改后重启SSH服务:PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2systemctl restart sshd - 本地端调试:执行带详细日志的登录命令,排查本地密钥读取问题:
如果本地私钥不在默认路径,可指定私钥文件:ssh -v djangoadmin@142.93.107.127ssh -i C:\Users\User\.ssh\id_rsa djangoadmin@142.93.107.127
内容的提问来源于stack exchange,提问作者Nursultan_Ashirmatov
相关产品推荐
相关产品推荐

