Определение имени хоста, в данный момент подключенного через SSH

При входе через SSH, я хотел бы знать, во время выполнения .bashrc, имя хоста, который подключается.

Ubuntu Server показывает приглашение:

Последний вход в систему: пт. 14 февраля 11:34:55 2014 с сайта somehost.local

... так что эта информация доступно где-то.

Как я могу получить к нему доступ?

5
задан 15 February 2014 в 02:57

2 ответа

Если вы введете:

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.

0
ответ дан 15 February 2014 в 02:57

ssh устанавливает переменную среды $SSH_CONNECTION, которая будет содержать IP-адрес клиента, номер порта клиента, IP-адрес сервера и номер порта сервера, разделенные пробелами.

Вы можете использовать

echo ${SSH_CONNECTION%% *}

для получения IP-адреса клиента. Чтобы получить DNS-имя, используйте что-то вроде host или dig -x:

host ${SSH_CONNECTION%% *}
0
ответ дан 15 February 2014 в 02:57

Другие вопросы по тегам:

Похожие вопросы: