安装ssh服务后.ssh目录没有id文件

安装ssh服务后.ssh目录没有id文件

我安装了 Ubuntu 22.04 并使用激活了 ssh 服务

sudo apt install ssh

我尝试通过 putty 使用 ssh 从我的 Windows 连接到我的 Ubuntu,并且成功了。putty 要求信任 Ubuntu 的密钥,一切都很好。

但是如果我进入 Ubuntu 并尝试查看安装 ssh 服务时生成的公钥和私钥,它们并不在目录中~/.ssh/

有人能解释一下吗?

答案1

使用 SSH 连接和生成 SSH 公钥和私钥之间存在区别。请注意,问题中的术语(公钥和私钥、“id 文件”、~/.ssh/)会让人想到用户生成的 SSH 密钥对。

您所指的目录 ( ~/.ssh/) 是用于用户生成的 SSH 密钥对、known_hosts文件等,并且安装 SSH 本身不会生成用户密钥对。如果您想从 Windows 使用 SSH 密钥对进行连接,您需要执行以下操作:

  • 在 Windows 机器上创建 SSH 密钥对(此处与主题无关,但与主题相关)超级用户
  • 在 Ubuntu 机器上安装你在 Windows 上生成的公钥

这里有一个超级用户问答详细说明如何在 Windows 上设置 SSH 密钥以用于 PuTTY,以及另一个关于为何以及如何存储密钥。

但是,如果您指的是安装 SSH 时生成的 SSH 主机密钥,则它们位于里面/etc/ssh,可以使用以下命令列出:

$ ls -la /etc/ssh/ssh_host*
-rw------- 1 root root 1373 May  8  2020 /etc/ssh/ssh_host_dsa_key
-rw-r--r-- 1 root root  597 May  8  2020 /etc/ssh/ssh_host_dsa_key.pub
-rw------- 1 root root  492 May  8  2020 /etc/ssh/ssh_host_ecdsa_key
-rw-r--r-- 1 root root  169 May  8  2020 /etc/ssh/ssh_host_ecdsa_key.pub
-rw------- 1 root root  399 May  8  2020 /etc/ssh/ssh_host_ed25519_key
-rw-r--r-- 1 root root   89 May  8  2020 /etc/ssh/ssh_host_ed25519_key.pub
-rw------- 1 root root 2590 May  8  2020 /etc/ssh/ssh_host_rsa_key
-rw-r--r-- 1 root root  561 May  8  2020 /etc/ssh/ssh_host_rsa_key.pub

公共主机密钥保存在客户端计算机上(作为known_hosts),用于验证远程计算机的身份并将连接标记为“受信任”。在 Ubuntu 上,已知主机保存在~/.ssh/known_hosts(请参阅超级用户当谈到 Windows 时)。

相关内容