我正在尝试设置 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 以来),ssh
OS X 中的客户端知道如何从钥匙串中检索 SSH 密钥。使用/Applications/Utilities/Keychain Access.app
搜索钥匙串以查找名称中包含“ssh”的任何内容。你是否有机会建立第三方SSH钥匙串应用程序(图标看起来像一条河豚)在 Leopard 之前为你做这些事情,你今天还在运行它吗?
您是否忘记了曾经设置过
ssh-agent(1)
,也许您 Mac 上的 shell 启动脚本正在启动代理并ssh-add(1)
为位于不同位置的密钥执行操作?您是否曾进行过编辑
/etc/ssh_config
以添加额外的IdentityFile
条目来在其他位置查找密钥?有没有可能...嗯...远程机器上的帐户不需要密码?