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

关于ssh-keygen -A命令生成主机密钥的类型及存储位置的疑问

ssh-keygen -A生成的主机密钥类型及存储位置详解

我之前也碰到过和你一模一样的问题——启动sshd时弹出sshd: no hostkeys available --exiting的错误,运行ssh-keygen -A解决问题后,也好奇过这条命令到底生成了哪些密钥、存在哪里。刚好我研究过这个,给你详细说明:

当你执行ssh-keygen -A命令时,它会自动生成OpenSSH支持的四种默认主机密钥类型:

  • RSA密钥(对应文件ssh_host_rsa_key和ssh_host_rsa_key.pub)
  • DSA密钥(对应文件ssh_host_dsa_key和ssh_host_dsa_key.pub)
  • ECDSA密钥(对应文件ssh_host_ecdsa_key和ssh_host_ecdsa_key.pub)
  • ED25519密钥(对应文件ssh_host_ed25519_key和ssh_host_ed25519_key.pub)

这些密钥默认都会被存储在**/etc/ssh/目录**下:

  • 不带.pub后缀的是私钥文件,系统会自动把它的权限设为600,只有root用户能读写,保证安全性
  • 带.pub后缀的是公钥文件,权限一般为644,允许其他用户读取,这样远程客户端连接时才能获取到公钥进行验证

sshd启动的时候会自动去/etc/ssh/目录下查找这些主机密钥文件,所以生成完成后你就能成功启动sshd服务了。

备注:内容来源于stack exchange,提问作者user1339750

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 11:34:30