
私はしばしば利用可能な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は接続が成功したときに常に複数を設定します。環境変数、含んでいる:
接続のクライアント側とサーバー側を識別します。この変数には、スペースで区切られた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はありません。