当使用 SSH 连接两台 Mac 机器时作为标准用户无密码连接在两台 Mac 上均可正常进行。
但每次做同样的事情时以 root 身份它要求我输入密码。我进入了PermitRootLogin without-password
我的/etc/sshd-config
我的 root 出了什么问题?有人知道为什么会发生这种情况吗?
然后:我尝试使用此方法将密码添加到钥匙串:
$eval "$(ssh-agent)"
$ssh [email protected] && ssh-add -K
钥匙串窗口出现了,但出于某种原因,它不允许输入,所以我就关闭了它。关闭它后,终端提示我输入密码。输入密码后,我得到了一个连接。所以我输入了
$ exit
并得到这个:
Could not create keychain item
Identity added: /var/root/.ssh/id_rsa (/var/root/.ssh/id_rsa)
所以我相信这是一个钥匙串问题(或者它应该因为某种原因以这种方式工作?)有趣的是,在此之后我实际上不再需要输入密码了......直到我停止 ssh-agent :(((((
我在两台 Mac 上尝试过,结果完全相同
有人能告诉我为什么当以 root 身份进行 ssh 时,keychain [失败|不允许] 保存密码,而以标准用户身份进行 ssh 时却可以正常工作?
答案1
最后我自己找到了答案并且解决了我的问题。
所以永远不要使用/usr/local/bin/ssh-add
。只使用/usr/bin/ssh-add
与 OS X 兼容的默认设置。它可以与钥匙串无缝协作,所以我所做的只是:
$ /usr/bin/ssh-add -k ~/.ssh/id_rsa
很简单。现在密码永久存储在我的钥匙串中,我不需要ssh-add -k
每次重启 Mac 时都去执行这个操作。