ssh -L 10002:192.168.0.30:10002 192.168.1.135
ポート転送を確立しますが、今はそれを削除する必要があります。
どうすればよいですか?
Linuxを使用している場合は、次の方法でプロセスを強制終了できます。
ps aux | grep ssh
次に使用します
kill <id>
プロセスを強制終了します。
Killコマンドが成功しない場合は、試すことができます
kill -9 <id>
Ssh多重化を使用する場合、sshプロセスを強制終了することは望ましくないことが多く(そのホストとの開いている接続をすべて強制終了します)、「多重化セッションではエスケープを使用できない」ため、エスケープに簡単にアクセスできません。正しい方法は、キャンセルしたい転送コマンドの類似物を実行することですが、-O cancel
を追加します。例えば:
ssh -O cancel -L 10002:192.168.0.30:10002 192.168.1.135
これにより、セッションを終了せずにこのポート転送が無効になります。繰り返しますが、これは、192.168.1.135への接続にSSH多重化が使用されている場合にのみ機能します。
すでに実行中のSSHセッションで転送されたポートをキャンセルする方法:
-KL port
あなたはこれを見るはずです:
ssh> -KL 10002
Canceled forwarding.
"エスケープキー"(通常は〜)に続けてCを押すと、接続を確立できます。接続を切断することなく、そこからトンネルを削除できます。
次のように入力して、インタラクティブコンソールに入ることができます ~C (大文字の「C」)。これにより、ポート転送を動的に追加および削除できます(他にもいくつかあります)。
このシーケンスは直後に復帰/改行でなければなりません。だから疑わしい、ただタイプして Enter~C (順番通りに)。
文字がコンソールに表示されない場合は、正しく実行しています:)
ssh>
プロンプトが表示されます。
ポートを削除するには、単に-KL 10002
の後に続けて入力します Enter (10002
は転送ポートです)。
逆-新しい転送の追加-次のように(開始から終了まで)実行できます。
Enter~C
ssh> -L 10002:192.168.0.30:10002
Enter