SSH経由で現在接続しているホストの名前を確認する

SSH経由で現在接続しているホストの名前を確認する

.bashrcSSH 経由でログインする場合、 の実行中に、接続しているホスト名を知りたいです。

Ubuntu Server は次のプロンプトを表示します:

Last login: Fri Feb 14 11:34:55 2014 from somehost.local

...この情報はどこかで入手可能です。

どうすればアクセスできますか?

答え1

次のように入力した場合:

who

ログインしているユーザーに関する情報が表示されます。特に、ログイン元のホストを確認できます。たとえば、現在私のラップトップでは次の結果が返されます。

who -u
darent   tty6         2014-02-14 01:15 11:02       20339
darent   tty7         2014-02-14 23:15  antic      31827 (:0)
darent   pts/7        2014-02-14 23:14 00:46       30246 (helena.local)
darent   pts/1        2014-02-14 23:16   .          1466 (:0)
darent   pts/9        2014-02-14 23:19 00:25         302 (:0)

ここで、helena.local は、ssh 経由で接続しているコンピュータです。

答え2

ssh環境変数に、$SSH_CONNECTIONクライアント IP アドレス、クライアント ポート番号、サーバー IP アドレス、およびサーバー ポート番号をスペースで区切って含めるように設定します。

使用できます

echo ${SSH_CONNECTION%% *}

クライアントの IP アドレスを取得します。DNS 名を取得するには、hostまたはのようなものを使用しますdig -x

host ${SSH_CONNECTION%% *}

答え3

Last login: Fri Feb 14 11:34:55 2014 from somehost.local

この行には、現在のログインではなく、以前のログインのホストが表示されます。

who-方法私には合っています。より良いのは:who -m

SSH_CONNECTION注意: を呼び出すなどしてサブプロセスを開始すると、変数は失われますsu

関連情報