警告: リッスン ポート 'xxxx' のリモート ポート転送に失敗しました

警告: リッスン ポート 'xxxx' のリモート ポート転送に失敗しました

ポート 'xxxx' でリッスンしているプロセスを見つけて終了するにはどうすればよいですか?

RemoteForward 2022 remote.host:22.ssh/config ファイルにあります。

リモート サーバーに ssh で接続するたびに、ssh staging-environment次のエラーが発生します。Warning: remote port forwarding failed for listen port 2022

ポート転送のためにこのポートを開く必要があります。

ポート 2022 でリッスンしているプロセスを見つけて終了するにはどうすればよいですか?

アップデート:

出力netstat -tulpn

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:81                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:83                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:84                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:85                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:86                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:2022              0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:2023              0.0.0.0:*                   LISTEN      -

答え1

ポート2022を使用しているユーザーを確認する正しいコマンドは

  sudo ss -ntp

まず、nestatは使用すべきではありません。これは今では時代遅れです(Linuxを使用している場合はそうだと思いますが、Unixを使用している場合はこれを忘れてください)。次に、コマンドを次のように実行する必要があります。須藤そうでなければ、ポートを使用しているプロセスを表示する権限がありません。3番目に、必ずない旗を使うあなたこれはUDPポートを確認することを意味しますが、sshこれは間違いなく、UDP ではなく TCP を使用しています。

答え2

これを行うには、いくつかの方法があります。netstat は、必要なことを実行するコマンド ライン ツールです。コマンド ラインの例は次のようになります。

# netstat -tulpn

これにより、システム上のポートと、それをリッスンしているアプリケーションがわかります。

お役に立てれば

答え3

現在このエラーを回避する方法は、サーバーにログインし、ps -ef | grep sshユーザーによって生成されたすべてのセッションを終了することです。

答え4

簡単な一言で十分です

for pid in `netstat -tunpl | awk '{print $4, $7}' | grep ':2022' | awk '{print $2}' | cut -d '/' -f1`; do kill -9 $pid; done

関連情報