ssh 在没有密码提示的情况下挂起 - 在 root 或其他帐户中工作

sav*_*ver 13 ssh mac-osx

我有基于 ssh 密钥的登录工作正常。然后,我更改了计算机上的主机名,基于密钥的登录停止工作。似乎有道理。密钥可能依赖于我的旧主机名。因此,我删除了所有密钥和 ~/.ssh/ 中的所有文件并重新生成它们(并更改了我连接到的服务器上的 authorized_keys)

现在,任何时候我尝试 ssh 时,它都会在没有密码提示的情况下挂起,无论我尝试 ssh 到哪里——甚至是我没有设置基于密钥的登录设置的服务器。.ssh/config 中没有任何内容。

此外,当我 'su -' 到 root 时,ssh 工作得很好。完全没有问题。这仅发生在我的用户帐户上。

以下是来自 ssh 的一些调试信息

ssh -vv mylogin@myremoteserver.com
OpenSSH_5.2p1,OpenSSL 0.9.8k 2009 年 3 月 25 日
debug1:读取配置数据/Users/myname/.ssh/config
debug1:读取配置数据 /usr/etc/ssh_config
......
debug1:主机 'myremoteserver.com' 已知并且与 RSA 主机密钥匹配。
debug1:在 /Users/myname/.ssh/known_hosts:1 中找到密钥
debug2:位集:512/1024
debug1:ssh_rsa_verify:签名正确
调试 2:kex_derive_keys
debug2:set_newkeys:模式 1
debug1: SSH2_MSG_NEWKEYS 发送
debug1:期待 SSH2_MSG_NEWKEYS
debug2:set_newkeys:模式 0
debug1:收到 SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_SERVICE_REQUEST 发送
debug2: service_accept: ssh-userauth
debug1:收到 SSH2_MSG_SERVICE_ACCEPT

然后它就挂在这里......

这是 dtruss(类似于 strace,但用于 OSX)在它挂起的末尾附近的输出:sudo dtruss ssh -vv mylogin@myremoteserver.com

选择(0x4,0x508200,0x0,0x0,0x0)= 1 0
读(0x3, "$\222\351{L\363\261\25063sN\216\300@q7\203\276b\257\354\337\356\260!{\342\017\271=\222, \245\347t\006\225\257\333;\204\020]\242\005z#\0", 0x2000) = 48 0
写(0x2,“调试2:service_accept:ssh-userauth\r\n\0”,0x26)= 38 0
连接(0x4,0xBFFFEEA2,0x6A)= 0 0
写(0x4,“\0”,0x4)= 4 0
写(0x4, "\v5\004\0", 0x1) = 1 0
read(0x4, "\0", 0x4) = -1 Err#4

它似乎正在尝试阅读一些东西,然后就挂了。如果有人有任何建议或想法,我将不胜感激!

Læt*_*æti 11

您的 ssh 客户端挂起您的帐户而不是其他帐户(root)的原因可能是因为您的 ssh-agent 有问题。要么ssh-agent没有运行,要么它的配置在某种程度上是错误的。

要确认这一点,您可以尝试以下操作:

unset SSH_AUTH_SOCK
ssh mylogin@myremoteserver.com
Run Code Online (Sandbox Code Playgroud)

如果随后要求您将密码短语输入 ssh_key,则意味着您的 ssh-agent 存在问题。

另请参阅我在此相关问题上的帖子。


Mat*_*ons 7

我可以对反向 DNS 感兴趣吗?

本质上,客户端在服务器上执行反向 DNS,反之亦然。

我提出一个测试:

通过编辑 /etc/ssh/sshd_config 并确保“UseDNS”设置为“no”来禁用服务器上的 DNS 查找。

运行“service ssh reload”(或任何导致您的 ssh 守护进程重新读取配置的东西),然后再试一次。

顺便说一句,它不会在很长一段时间后最终提示您,是吗?

您可能要检查的另一件事是查看服务器上 /etc/hosts 的内容,以确保那里没有任何问题。


sav*_*ver 1

对我来说,升级到 Snow Leopard 解决了这个问题。所以,我认为这与 OSX 中的一个错误有关。