При входе через SSH, я хотел бы знать, во время выполнения .bashrc
, имя хоста, который подключается.
Ubuntu Server показывает приглашение:
Последний вход в систему: пт. 14 февраля 11:34:55 2014 с сайта somehost.local
... так что эта информация доступно где-то.
Как я могу получить к нему доступ?
Если вы введете:
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.
ssh
устанавливает переменную среды $SSH_CONNECTION
, которая будет содержать IP-адрес клиента, номер порта клиента, IP-адрес сервера и номер порта сервера, разделенные пробелами.
Вы можете использовать
echo ${SSH_CONNECTION%% *}
для получения IP-адреса клиента. Чтобы получить DNS-имя, используйте что-то вроде host
или dig -x
:
host ${SSH_CONNECTION%% *}