我有基于 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 存在问题。
另请参阅我在此相关问题上的帖子。
我可以对反向 DNS 感兴趣吗?
本质上,客户端在服务器上执行反向 DNS,反之亦然。
我提出一个测试:
通过编辑 /etc/ssh/sshd_config 并确保“UseDNS”设置为“no”来禁用服务器上的 DNS 查找。
运行“service ssh reload”(或任何导致您的 ssh 守护进程重新读取配置的东西),然后再试一次。
顺便说一句,它不会在很长一段时间后最终提示您,是吗?
您可能要检查的另一件事是查看服务器上 /etc/hosts 的内容,以确保那里没有任何问题。
归档时间: |
|
查看次数: |
23253 次 |
最近记录: |