sshクライアントの「サーバーで許可されていないローミング」とはどういう意味ですか?


25

SSHサーバーインスタンスへの接続に失敗し、詳細な出力にが含まれていますdebug1: Roaming not allowed by server。次の予測可能な問題および回避可能な問題が発生します。

  • ローミングとは、さまざまな種類のネットワークからサービスにアクセスすることです。sshUbuntu 14.04で実行されている6.6.1クライアントの詳細な出力のコンテキストでは、それが何を意味するのかわかりません。
  • これがエラーであるかどうか、またそれがログインの失敗の原因であるかどうかは不明です(ただし、ここでは接続エラーに飛び込みたくありません; sshBTWの出力メッセージはありません->より多くの問題と時間の無駄遣い-警告されました!)
  • site:www.openssh.org roamingGoogleで空の結果を照会しましたが、マンページに用語が含まれていません。あいまいさのために文書化されていたとしても、それを使用するのはナンセンスです!

メッセージの意味は何ですか?それを使用して、他の非常に曖昧で直感的で役に立たないエラーやSSHの他のメッセージの大規模なセットをデバッグするにはどうすればよいですか?

回答:


22

実際にはエラーメッセージではありません。これは、サーバーがローミング接続を受け入れないことを通知する単なるデバッグメッセージです。

ローミングは、明らかに2009年頃にOpenSSHに追加された実験的な機能です。この機能の目的は、sshクライアントがサーバーセッションから切断し、別の場所からセッションを再開できるようにすることです。それについての議論はこちらをご覧ください。グーグルssh、ローミング、および「Martin Forssen」は、他のページを表示します。積極的に開発されているようには見えません。SSH開発者は実験的であり、おそらく終了していないため、SSH開発者が文書化したことはないと思います。

OpenSSHソースコードの検査から、UseRoamingyesまたはnoに設定できるドキュメント化されていないクライアント側オプションがあります。「UseRoaming no」という行をクライアント構成(通常は.ssh/configファイル)に追加すると、デバッグメッセージが抑制されます。

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

1
@nikeee:...そして、それは「無害な」非動作スタブを出荷しないという警告的な話です。(あなたがそれを設定する必要があることに注意noにおけるクライアントの設定ではなく、サーバー上)
Piskvor

@Piskvorしかし、それを広めるdevops / webopsの本はかなりあります。ああ。
フロリアンハイグル

ネット上のこの設定に関する最良の説明。
petersohn NILS

4

CentOS6のopenssh 5.3の変更ログには、次の注意事項があります。

2009/06/27
     クライアントオプションUseRoamingを追加します。まだ何もしていませんが
     で有効になっている場合、クライアントがローミングを使用するかどうかを制御します
     サーバ。Martin Forssenから。

3

@ ILMostro_7 chmod 600 authorized_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)

'#' =コメント。you = your-username。[tippy tap] = humo [u] r?= Enterキーを押します。

このQ&Aがすでに私を助けてくれたのと同じくらい、それが誰かの助けになることを願っています。


2

このエラーメッセージは、サーバーでに設定され/etc/ssh/sshd_configていない 場合に表示されるHostbasedAuthenticationことyesがあります。

理由はわかりません。

別の問題があります:

ユーザーが所有し、chmod 700である必要がある$ USER / .sshディレクトリのアクセス許可を確認します。authorized_keysファイルもchmod 700であり、ユーザーが所有している必要があります。


700?executeキーファイルにビットが必要なのはなぜですか?
ILMostro_7

からの引用はどこにありますか?参照を追加してください。
カールリヒター

ILMostro_7はファイル上ではなく、ディレクトリ上にあり、ユーザーがディレクトリ内にファイルを作成できるようにするには、実行フラグを設定する必要があります
IceyEC

@IceyEC答えはauthorized_keysの 700を示唆しています。
mdrozdziel

1
する必要がありますchmod 400。なぜそのファイルを実行可能にしたいのかわかりません。また、書き込みアクセスも99.999%の時間では望ましくありません。sshdは、ユーザーの.sshフォルダがグループやその他、および同様にアクセスできないことを確認します.ssh/authorized_keys。したがって、答えのパーマは機能する可能性がありますが、不必要に広いです。
-Piskvor
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.