現在サーバーに接続されているコンピュータを見つける方法

現在サーバーに接続されているコンピュータを見つける方法

私はしばしば利用可能な1つのLinux / HP-UXサーバー(server1と仮定)で作業し、実行 ssh server2((server2と仮定))し、別のLinux / HP-UXサーバーで作業を開始します。その後、別のサーバー(サーバー3と仮定)に接続して処理を開始できます。server3での作業中にサーバーからコマンドライン情報を取得するにはどうすればよいですか。

それでは、server3ではserver2から情報を取得し、server2ではserver1から情報を取得したいと思います。そのコマンドやユーティリティは何ですか?

答え1

少なくともLinuxの場合、who <arg> <arg>接続されたホストが表示されます。

$ who hates java
error    pts/3        2013-11-20 08:35 (underground)

HP / UXのマニュアルページには、ご使用のオペレーティングシステムにも該当することが記載されています。そうする必要があります。私は何十年もの間、さまざまなUnixでこの機能を使用してきました。

答え2

SSHは接続が成功したときに常に複数を設定します。環境変数、含んでいる:

SSH_CONNECTION

接続のクライアント側とサーバー側を識別します。この変数には、スペースで区切られた4つの値(クライアントIPアドレス、クライアントポート番号、サーバーIPアドレス、サーバーポート番号)が含まれています。

例は次のとおりです。

$ ssh user@host
user@host$ echo $SSH_CONNECTION
192.168.223.17 36673 192.168.223.229 22

したがって、この環境変数を取得してnslookup接続を完了したホストに関する情報を取得できます。

user@host$ nslookup "${SSH_CONNECTION%% *}"'
...
Name:      192.168.223.17
Address 1: 192.168.223.17 foo.bar

ただし、who(1)これは非対話型SSHコマンドを介しても機能し、バグや信頼できないutmpメカニズムには依存しません。

答え3

who、私はwhoami思っlastたが、テストに使用できるHPUXはありません。

関連情報