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

配置与权限已设置但SSH仍要求输入密码的问题求助

问题描述

我有一台Contabo远程服务器和一台Dell本地主机,已在服务器上创建sudo用户laura:

adduser laura
usermod -aG sudo laura

在Dell主机上执行ssh-keygen -t rsa -b 4096生成SSH密钥(命名为id_rsa_contabo和id_rsa_contabo.pub),因ssh-copy-id无效,使用sudo scp id_rsa_contabo.pub laura@<IP>:/home/laura/.ssh/将公钥传到服务器,手动将其内容追加到/home/laura/.ssh/authorized_keys文件中。但执行ssh laura@<IP>时仍要求输入密码。

已尝试以下操作但无效:

  • 将服务器上.ssh文件夹权限设为700,authorized_keys设为600;
  • 执行ssh-agent bash和ssh-add ~/.ssh/contabo_rsa;
  • 查看服务器/var/log/auth.log未发现异常;
  • 执行ssh laura@161.97.167.13 -v,发现本地未读取id_rsa_contabo密钥;
  • 尝试ssh -i id_rsa_contabo.pub laura@161.97.167.13强制使用该密钥;
  • 确认服务器/etc/ssh/ssh_config和/etc/ssh/sshd_config中已开启RSAAuthentication、PubkeyAuthentication,配置了正确的AuthorizedKeysFile路径。
排查与解决步骤

1. 修正SSH密钥加载的文件名错误

你执行ssh-add时用了错误的密钥文件名,实际生成的私钥是id_rsa_contabo,正确命令应为:

ssh-add ~/.ssh/id_rsa_contabo

执行后可通过ssh-add -l确认密钥是否已加载成功。

2. 修正ssh -i参数的使用错误

ssh -i参数需要指定私钥文件而非公钥文件,正确命令应为:

ssh -i ~/.ssh/id_rsa_contabo laura@161.97.167.13

如果当前不在~/.ssh目录下,要使用完整路径,避免找不到文件。

3. 配置本地SSH config自动使用指定密钥

为了避免每次手动指定密钥,可在本地~/.ssh/config文件中添加如下配置(若文件不存在则创建,权限设为600):

Host contabo-server
    HostName 161.97.167.13
    User laura
    IdentityFile ~/.ssh/id_rsa_contabo

之后直接执行ssh contabo-server即可自动使用该密钥登录。

4. 彻底检查服务器端权限

除了.ssh和authorized_keys的权限,还需确保服务器上/home/laura目录的权限不能开放过高,必须设置为755或更严格:

sudo chmod 755 /home/laura

同时确认authorized_keys文件的所有者是laura,而非root:

sudo chown laura:laura /home/laura/.ssh/authorized_keys

如果之前用sudo scp传文件,可能导致文件所有者为root,这会导致SSH拒绝使用该密钥。

5. 重启SSHD服务并验证配置

修改sshd_config后必须重启服务才能生效:

sudo systemctl restart sshd

可通过sshd -t检查配置文件是否有语法错误,避免因配置错误导致服务无法启动。

6. 检查SELinux限制(若服务器启用了SELinux)

如果服务器开启了SELinux,可能会阻止SSH读取authorized_keys文件,可临时关闭SELinux测试:

sudo setenforce 0

若测试有效,可执行以下命令恢复SELinux上下文并永久允许:

sudo restorecon -Rv /home/laura/.ssh

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:15:32