ssh客户端的“服务器不允许漫游”是什么意思?


25

我无法连接到SSH服务器实例,详细输出包含debug1: Roaming not allowed by server。出现以下可预见的和可避免的问题:

  • 漫游是指从不同类型的网络访问服务。我无法弄清楚ssh在Ubuntu 14.04上运行的6.6.1客户端的详细输出的含义是什么。
  • 目前尚不清楚这是否是错误,是否是导致登录失败的原因(不过,我不想在这里陷入连接失败;但是sshBTW 的输出消息均不->更多问题和时间紧缩-您已经收到警告!)
  • site:www.openssh.org roaming在google中查询了空结果,而联机帮助页中没有该词。即使由于歧义而被记录下来,使用它也是胡说八道!

该消息意味着什么?如何使用它调试大量其他高度含糊,不直观和无用的错误以及SSH的其他消息?

Answers:


22

这实际上不是错误消息。这只是一条调试消息,告诉您服务器不接受漫游连接。

漫游显然是在2009年前左右添加到OpenSSH的一项实验功能。该功能的目的是让ssh客户端与服务器会话断开连接,然后从另一个位置恢复该会话。请参阅此处以获取有关它的一些讨论。谷歌搜索ssh,漫游和“ MartinForssén”将打开其他页面。它看起来好像没有被积极开发。我怀疑SSH开发人员从未记录过它,因为它是实验性的,也许还没有完成。

通过检查OpenSSH源代码,有一个未记录的客户端选项UseRoaming,可以将其设置为yes或no。在客户端配置(通常是.ssh/config文件)中添加“ UseRoaming no”行应禁止显示调试消息。

对于我来说,这不是很明显,为什么服务器端HostbasedAuthentication设置将控制服务器是否接受漫游连接。

更新:客户端漫游支持显然是计算机漏洞披露报告CVE-2016-0777的主题。OpenSSH 5.4到7.1p1版本容易受到攻击。用户应升级到OpenSSH 7.1p2或更高版本。无法升级的用户应通过在其ssh客户端配置中添加“ UseRoaming no”来禁用客户端中的漫游。请参阅以下内容:


7
好吧,现在建议将其设置为no。mail-archive.com/misc@openbsd.org/msg144351.html
nikeee,2016年

1
@nikeee:...这是一个警告性的故事,因为它没有发布“无害的”不起作用的存根。(请注意,您需要将其设置为no客户端设置,而不是在服务器上)
Piskvor

@Piskvor,但是有很多关于devops / webops的书传播出来..它们可能都错了吗?哦。
Florian Heigl

关于此配置的最佳解释。
nils petersohn

4

CentOS6上的openssh 5.3的变更日志有一条注释:

2009/06/27
     添加客户端选项UseRoaming。它什么也没做,但是会做
     控制客户端是否在启用了漫游的情况下尝试使用漫游
     服务器。来自马丁·福森(Martin Forssen)。

3

@ ILMostro_7 chmod 600authorized_keys对我来说很好用。

为了使通过谷歌搜索“服务器不允许的漫游”到达此处并使用Linux(Ubuntu)客户端的任何人的利益,您可以修复警告,然后查看:-

Agent admitted failure to sign using the key

可以在https://help.github.com/articles/error-agent-admitted-failure-to-sign/上找到解决方法

    # start the ssh-agent in the background
    $ eval "$(ssh-agent -s)"
    # Agent pid 59566 (displays process id)
    $ ssh-add
    # Enter passphrase for /home/you/.ssh/id_rsa: [tippy tap]
    # Identity added: /home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)

'#'=评论。您=您的用户名。[轻按] =幽默[u] r?=按Enter键。

我希望这个问题对我的帮助与帮助一样多。


2

/etc/ssh/sshd_config如果未 在服务器上HostbasedAuthentication设置为yes,则会显示此错误消息。

我不知道为什么。

另一个问题可能是:

检查$ USER / .ssh目录的权限,该目录应由用户拥有,并为chmod700。authorized_keys文件也应为chmod 700,并由用户拥有


700?为什么需要execute在密钥文件上使用位?
ILMostro_15年

报价来自哪里?请添加参考。
Karl Richter

ILMostro_7不在文件中,而是在目录中,并且为了使用户能够在目录中创建文件,必须设置execute标志
IceyEC

@IceyEC答案的建议700 authorized_keys中
mdrozdziel

1
应该是chmod 400。不知道为什么我要那个文件可执行。并且在99.999%的时间内也不希望进行写访问。sshd检查用户的.ssh文件夹是否无权访问组和其他文件夹,同样也无权访问.ssh/authorized_keys。因此,答案中的烫发可能有效,但它们的宽度不必要地大。
Piskvor '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.