
私は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番目のシステムを追加するまで)まだ完全に満足していません。