如果我的用于身份验证的 SSH 密钥不在 .ssh 中,那么它在 Mac OS X 上存储在哪里?

如果我的用于身份验证的 SSH 密钥不在 .ssh 中,那么它在 Mac OS X 上存储在哪里?

我正在尝试设置 ssh 以在 Mac OS X 上与 git 配合使用,但我找不到我的密钥。我尝试生成新密钥、使用现有密钥、复制与 Windows 计算机上 git 使用的完全相同的 ~/.ssh 目录,但在 Mac 上没有任何变化。

我曾经使用过一个 ssh 密钥从 Mac 访问我的服务器,我以为它是 ~/,ssh 中的 id_rsa/id_rsa.pub 对。当我将 ~/.ssh 目录移开以检查我的假设,即 ssh 获取密钥的位置,然后尝试通过 ssh(从终端)连接到我的服务器时,它无法识别主机,正如我所料,因为 known_hosts 已被移动,但我仍然进入服务器没有密码

因此,它仍然必须使用与服务器上授权公钥之一相对应的密钥,而不仅仅是会话密钥,所以这不是这种情况这里,但是如果不是从 ~/.ssh 获得的话,从哪里获得呢?

答案1

  • 您是否曾经做过类似ssh-add -K ~/.ssh/id_rsa将 SSH 私钥添加到 OS X 钥匙串的事情?几年来(自 Mac OS X 10.5 Leopard 以来),sshOS X 中的客户端知道如何从钥匙串中检索 SSH 密钥。使用/Applications/Utilities/Keychain Access.app搜索钥匙串以查找名称中包含“ssh”的任何内容。

  • 你是否有机会建立第三方SSH钥匙串应用程序(图标看起来像一条河豚)在 Leopard 之前为你做这些事情,你今天还在运行它吗?

  • 您是否忘记了曾经设置过ssh-agent(1),也许您 Mac 上的 shell 启动脚本正在启动代理并ssh-add(1)为位于不同位置的密钥执行操作?

  • 您是否曾进行过编辑/etc/ssh_config以添加额外的IdentityFile条目来在其他位置查找密钥?

  • 有没有可能...嗯...远程机器上的帐户不需要密码?

相关内容