すべてのユーザーのすべてのポート転送を検索

すべてのユーザーのすべてのポート転送を検索

私はSSHアクセスのみを許可するCentOS 7システムを実行しています。そのマシンでは、私は複数のQEMU仮想マシンを実行しており、それぞれが異なるVNCポートに表示されます。コンピュータにアクセスするには、人々にコンピュータにSSH経由で接続し、目的のVNCサーバーのポートを転送するように依頼します。たとえば、サーバーの 1 つが :25 にある場合、実行中であるとします。

ssh -L 5901:localhost:5925 user@host

次に、ローカルコンピュータでvncviewer開きます。localhost:1

これらのVMは多くのユーザーが共有するため、ボックス管理者として誰が各VM(または他の任意のポート)に対してポート転送を設定したのかを知る方法はありますか?

これは私のものを見ることができますが、~#他の人がそれを簡単に見る方法はありますか?

今考えることができる唯一のことは、関心netststat -panl | awk '$5 ~ /5925/ {print $7 $8}'のある各ポートに対して同様の作業を実行して繰り返すことです。より「適切な」またはより簡潔な方法はありますか?

ベストアンサー1

それでも情報を照会する方法があることを願っていますがsshd、誰がlocalhostのどのポートに対して開いているポート転送を持っているかを知らせるもう1つの解決策を考えました。

lsof -i -n | awk '/sshd.*->127.0.0.1:/ {n=split($9,a,":"); print $3 " " a[n];}'

たとえば、次のように印刷されます。

erenouf 5925
erenouf 5926

ただし、転送のためにSSHを要求するのではなく、その接続を使用した場合にのみ可能です。

また、これには宛先IPを知る必要があります。これは私がこのシナリオで行ったことなので、(これまで2番目のシステムを追加するまで)まだ完全に満足していません。

おすすめ記事