私は2台のコンピュータを持っていて、client
同様のserver
ものを使ってclient
リバーストンネルを作りました。server
ssh -R 12345:localhost:12345 server
ログイン後、server
トンネルにバインドされたポートをどのように見つけることができますか?それでは、上記の例では、ポート12345がトンネルとして使用されていることをどのように知ることができますかclient
?
答え1
lsof
どのTCPポートがLISTEN状態でsshdで使用されているかを確認することでこれを行うことができます。
[jenny@willow ~]$ sudo lsof -iTCP -sTCP:LISTEN | grep sshd
sshd 1084 root 3u IPv6 0xffffff0003fed888 0t0 TCP *:ssh (LISTEN)
sshd 1084 root 4u IPv4 0xffffff0003fed5b0 0t0 TCP *:ssh (LISTEN)
sshd 47607 jenny 7u IPv6 0xffffff00510a0888 0t0 TCP localhost:12345 (LISTEN)
sshd 47607 jenny 8u IPv4 0xffffff00410062d8 0t0 TCP localhost:12345 (LISTEN)
上の2つはSSHデーモン、下の2つはTCPトンネルです。 (各エントリはIPv6に対して1回、IPv4では1回ずつリストされます。)