web-dev-qa-db-ja.com

認証後にsshチャネルがハングする

サーバーrangerは、昨日、sshログインで数ヶ月間期待どおりに動作しなくなったため、応答しなくなりました。認証は成功しますが、その後-vvvロギングにより、セッション用に確立されたチャネルに設定されている非常に長い遅延が明らかになります。

debug1: Authentication succeeded (publickey).
Authenticated to ranger ([192.168.1.115]:22).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Requesting [email protected]
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: network
debug3: receive packet: type 80
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug3: receive packet: type 91
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug3: ssh_packet_set_tos: set IP_TOS 0x10
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug3: send packet: type 98
debug1: Sending environment.
debug3: Ignored env Shell
debug3: Ignored env TERM
debug3: Ignored env DOCKER_Host
debug3: Ignored env NVM_DIR
debug3: Ignored env USER
debug3: Ignored env NAME
debug3: Ignored env LS_COLORS
debug3: Ignored env HOSTTYPE
debug3: Ignored env _Java_OPTIONS
debug3: Ignored env PATH
debug3: Ignored env PWD
debug3: Ignored env XMODIFIERS
debug1: Sending env LANG = en_US.UTF-8
debug2: channel 0: request env confirm 0
debug3: send packet: type 98
debug3: Ignored env SHLVL
debug3: Ignored env HOME
debug3: Ignored env LOGNAME
debug3: Ignored env LESSOPEN
debug3: Ignored env DISPLAY
debug3: Ignored env LESSCLOSE
debug3: Ignored env _
debug2: channel 0: request Shell confirm 1
debug3: send packet: type 98
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug3: channel_handler: chan 0: skip for 713631 more seconds
debug3: channel_handler: first channel unpauses in 713631 seconds
debug3: channel_handler: chan 0: skip for 713631 more seconds
debug3: channel_handler: first channel unpauses in 713631 seconds
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug2: channel 0: rcvd adjust 2097152
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: Shell request accepted on channel 0
debug3: channel_handler: chan 0: skip for 713631 more seconds
debug3: channel_handler: first channel unpauses in 713631 seconds
debug3: channel_handler: chan 0: skip for 713631 more seconds
debug3: channel_handler: first channel unpauses in 713631 seconds
debug3: channel_handler: chan 0: skip for 713631 more seconds
debug3: channel_handler: first channel unpauses in 713631 seconds

同じことが、このマシンの他のアカウントでも発生します。これには、パスワード認証を使用するまったく新しいアカウントも含まれます(そのため、おそらく.bashrc問題など)。同様に、完全に異なるコマンド(ssh -vvv user@ranger 'ls ~')は同じ結果になります。

クライアントとサーバーは同じイーサネットネットワークにあり、同じスイッチに接続されています。

クライアント:OpenSSH_7.2p2 Ubuntu-4ubuntu2.2、OpenSSL 1.0.2g 2016年3月1日

サーバー:Ubuntu 16.04.4、OpenSSH_7.2p2 Ubuntu-4ubuntu2.2、OpenSSL 1.0.2g 2016年3月1日

11
cemerick

WSL(LinuxのWindowsサブシステム)を使用しているときに上記と同じ問題が発生しました。前述の解決策ではうまくいきませんでした。

WSLを再起動して、問題を最終的に解決しました。管理モードのPowerShellで次のように入力するだけです:Restart-Service LxssManager

Windowsを再起動せずにWindowsでUbuntuを再起動しますか?

13
cmick

[〜#〜] wsl [〜#〜] にも参加しています。実行中のC:\WINDOWS\System32\bash.exeのすべてのインスタンスを強制終了すると修正されました。その前は、新しいbashインスタンスを開くことができませんでした。

他の人が成功せずに再起動を試みたと思いますので、このソリューションは広く適用できるとは思いませんが、私のデータポイントが誰かが何が起こっているのかを理解するのに役立つことを願っています。

私はいくつかのbashインスタンスを開いていて、そのうちのいくつかは何週間も開いていたため、共有指数バックオフ値がリセットされていなかった可能性があります。今日の初めに、Windowsのネットワークアイコンは、私がネットワークにアクセスできないことを(誤って)報告していました。

6
Raijinili

WSL openSSHでこの同じ問題に遭遇しました。他のすべてのsshプログラムは、ローカルデバイスへのログインに問題はありませんでした。上記の提案をすべて試しましたが、openSSH-clientを完全にアンインストールして再インストールしても成功しませんでした。

次に、コンピューターが愚かに振る舞うときにあなたが行うと思われる一番のことを試しました。シャットダウンして、再びオンにします。すべてが正常に戻っています。

2
jeffpkamp

私はこの問題を数回経験しました。 Marc Hoの comment に触発されて、すべてのWLSセッションを終了し、開いた次のセッションですぐに機能しました。ただし、.sshからファイルを削除する必要はありませんでした。

スリープとネットワークの変更の間に孤立したロックが発生しているのではないかと思います。私はWindowsのホームとして、問題の原因となっている可能性のあるネットワークドライブを持っています。

0
Felipe Carasso

解決策というほどの答えではありません。sshを削除して再インストールしましたが、すべて順調です。 ¯\ _(ツ)_ /¯

0
cemerick