ssh脚本给出“key_read”错误

时间:2010-03-22 13:18:29

标签: bash ssh

我正在使用通过ssh连接到群集的脚本并发送一些命令,然后退出连接。此脚本基本上使用ssh连接一次,然后在此会话中执行脚本。此脚本循环遍历命令列表几次,完成后,连接终止。

所以这个脚本工作正常,除了在几个循环后它在循环22给出了以下错误的事实。然后再次在循环32。循环完全相同的事情,所以我无法把握问题脚本正面临着。我不认为这个脚本每次必须运行循环时都要求进行身份验证。

这是错误:

key_read: uudecode AAAAB3NzaC1yc2EAAAABIwAAAQEAxmNx2hcXLpTjuaa3yKC3B9gbF7KprP2/
CH8fBgMbCyIcOB+ZMQDmEnbVTqedBwV/mxjZzorEpHTM8MX2WsTjFsxwzDgcpuxm+3cwfb0WSy9Y4Kb
F8crAsRDbBIpUZ2n/iSdRcds9nTjk6PA61kTS24RLACHpqF18vudlO5WcbCOnAwa+DdUs0Raw29UiQc
BaC6M4YPnApq9Ayy7a6qFI2uK6efkwfLTZIDivWlIdLpRLEyuBEpozQQhEd0mrGhR/
Gl1GevRvFMms14130xQ4A5UpJSn6CmrRIWBkcgp1TilqDGQ1F5xZOinnc4C00gFrbT3hkkQqY5A9p
node023,10.141.0.31 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxmNx2hcXLpTjuaa3yKC3
B9gbF7KprP2/CH8fBgMbCyIcOB+ZMQDmEnbVTqedBwV/mxjZzorEpHTM8MX2WsTjFsxwzDgcpuxm+
3cwfb0WSy9Y4KbF8crAsRDbBIpUZ2n/iSdRcds9nTjk6PA61kTS24RLACHpqF18vudlO5WcbCOnAw
a+DdUs0Raw29UiQcBaC6M4YPnApq9Ayy7a6qFI2uK6efkwfLTZIDivWlIdLpRLEyuBEpozQQhEd0m
rGhR/Gl1GevRvFMms14130xQ4A5UpJSn6CmrRIWBkcgp1TilqDGQ1F5xZOinnc4C00gFrbT3hkkQqY5
A9pa0lQHFkSw==

7 个答案:

答案 0 :(得分:16)

可能发生此问题的另一个原因:

我在与其中一台服务器进行SSH连接时遇到了类似的问题:它可以正常工作,但会显示这条奇怪的错误消息。解决方案实际上是修复〜/ .ssh / known_hosts,它有2个服务器条目。

答案 1 :(得分:3)

您可能正在处理一些超时问题...尝试在脚本中添加一个睡眠以使循环花费更长时间并查看它是否仍然在循环22和32上死亡...它可能只是时间的时间那些循环发生了。如果是这种情况,您可能需要调整您登录的服务器上的sshd配置文件(如果您有权访问),否则您可以随时添加到本地计算机上的ssh配置。像“ServerAliveInterval 5”这样的东西可能会有所帮助。

答案 2 :(得分:3)

我将我的id_rsa.pub内容从Windows粘贴到Linux VM中。这导致CRLF被插入到几个地方的行的中间,这只有在我用足够宽的窗口(或者足够宽的终端中的猫)编辑文件时才会显而易见。删除CRLF使整个事情在一行上解决了这个问题。

答案 3 :(得分:2)

希望这可能会帮助一些人。

当SSH连接到任何服务器时,我有这个确切的错误消息。有趣的是,我被允许访问。我检查了所有SSH密钥文件,并将它们全部放在一行(很多人报告可能的原因)。

然后我从RSA公众== user@server.com)中移除了评论,它确实有效!然后,我从DSA公众中删除了该行;错误再次弹出。

我对SSH密钥以及它们的工作原理并不是那么了解,但这似乎已经为我访问的许多服务器做了诀窍。因此从RSA公开中删除评论并将其留给DSA公开

答案 4 :(得分:2)

对我来说,~.ssh/known_hosts文件夹中的.ssh文件出错了。我删除了所有行以获得" fresh"已知主机的启动,此后我没有错误。

答案 5 :(得分:0)

我在网上看到了这个: http://support.bb4.com/archive/200408/msg00235.html

看起来与你的问题类似。有关Big Brother网站上更详细信息的帖子中还有另一个链接。

答案 6 :(得分:0)

对我来说,由于copypasta,我有一台服务器的公共密钥分布在多行上。将整个密钥放在一行上可以解决此错误。