Когда я использую SSH для подключения к серверу Linux, я вижу сообщение, информирующее меня о происхождении моего последнего входа в систему. Например:
Last login: Mon Jul 7 14:37:09 2014 from host.example.net
Я хотел бы знать, возможно ли узнать IP / имя хоста из моего текущего сеанса (то есть машины, с которой я сейчас регистрируюсь).
Цитата man 1 ssh
:
ОКРУЖЕНИЕ
ssh обычно устанавливает следующие переменные среды: SSH_CONNECTION
Определяет клиентскую и серверную стороны соединения. Переменная содержит четыре значения, разделенных пробелами: IP-адрес клиента, номер порта клиента, IP-адрес сервера и номер порта сервера.
Другие SSH-серверы, кроме OpenSSH (например, Dropbear), могут вести себя иначе, проверьте их документацию.
Используйте dig -x x.x.x.x + short
, чтобы получить имя хоста.
Если вы посмотрите на команды who
и w
, они могут дать вам IP-адреса текущих зарегистрированных пользователей. Неясно, нужен ли вам IP-адрес пользователя, запускающего сценарий, или заданного имени пользователя. Вы можете проанализировать результат , который
, если вы уже знаете соответствующее имя пользователя.