如果不在 .ssh 中,我的用于身份验证的 SSH 密钥将存储在 Mac OS X 上的何处?

chr*_*nhy 20 ssh macos

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

我有一个 ssh 密钥,我用了一段时间从 Mac 访问我的服务器,我认为它是 ~/,ssh 中的 id_rsa/id_rsa.pub 对。当我将 ~/.ssh 目录移开以检查我的假设,即这是 ssh 获取密钥的地方,然后尝试 ssh(从终端)到我的服务器时,它无法识别主机,正如我预期的那样known_hosts 被移动了,但我仍然没有密码的情况下进入了服务器。

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

Spi*_*iff 33

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

  • 您是否有机会设置第三方SSHKeychain应用程序(图标看起来像一条河豚)来为您在 Leopard 之前执行此操作,而您今天仍在运行它?

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

  • 您是否有机会编辑/etc/ssh_config添加额外的IdentityFile条目以在另一个位置查找密钥?

  • 任何机会......嗯......你在远程机器上的帐户不需要密码?