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

.ssh目录缺失authorized_keys文件,SSH密钥登录失败求助

解决SSH密钥登录缺少authorized_keys文件的问题

首先纠正一个安装命令的错误:你写的apt install open ssh-server是错误的,正确的SSH服务安装命令是:

sudo apt install openssh-server

确保你实际安装的是openssh-server,否则可能导致后续功能异常。

接下来解决authorized_keys缺失的问题:这个文件不会自动生成,需要手动创建并添加客户端公钥,具体步骤如下:

1. 创建并配置authorized_keys文件

  • 进入当前用户的.ssh目录(注意命令小写,你之前的Cd要改为cd):
    cd ~/.ssh
    
  • 创建空的authorized_keys文件:
    touch authorized_keys
    
  • 设置严格的权限(SSH服务对这个文件和目录的权限要求很高,权限过松会直接拒绝密钥登录):
    chmod 600 authorized_keys
    chmod 700 ~/.ssh
    

2. 添加客户端公钥到文件中

从需要登录你主机的客户端上,复制其~/.ssh/id_rsa.pub文件的全部内容,粘贴到你主机的~/.ssh/authorized_keys文件末尾即可。

如果客户端和你的主机在同一网络,推荐用ssh-copy-id命令一键完成(替换your_username和your_host_ip为你的主机用户名和IP):

ssh-copy-id your_username@your_host_ip

这个命令会自动创建authorized_keys(如果不存在)、添加客户端公钥,并自动设置正确的权限,比手动操作更可靠。

3. 验证sshd_config配置

打开/etc/ssh/sshd_config文件,确认以下配置项已启用(去掉前面的#注释):

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2

如果你配置了自定义的AuthorizedKeysFile路径,要确保路径指向你刚才创建的文件,且该路径的目录权限合规。

4. 重启SSH服务

修改配置后重启服务使设置生效:

sudo systemctl restart sshd

完成以上步骤后,客户端就能通过密钥正常登录你的主机了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:20:32