Назад | Перейти на главную страницу

Получение имени хоста компьютера, подключенного к сеансу ssh

В рамках нашего сценария развертывания для одного из наших приложений я пытаюсь регистрировать дату, время и другую важную информацию для развертывания.

Как мы это устроили, разработчики используют общую учетную запись «приложение» для выполнения развертываний, поэтому регистрация пользователя не будет особенно полезной.

Можно ли получить имя хоста машины, подключенной к сеансу SSH?

Есть переменная среды, которую вы можете найти, которая называется SSH_CONNECTION который устанавливается, когда вы входите в систему с ssh. Если вам нужно имя хоста, вам может потребоваться выполнить обратный поиск с помощью dig -x <ip address>.

На странице руководства:

 SSH_CONNECTION
          Identifies the client and server ends of the connection.  The variable contains four space-separated values: client ip-address, client port
          number, server ip-address and server port number.

Хотя переменная среды SSH_CONNECTION может быть лучшим методом. Существуют и другие методы.

  • ssh и другие логины обычно регистрируются в / var / log / secure во многих дистрибутивах Linux.
  • Предоставьте разработчикам индивидуальные логины и попросите их использовать sudo для развертывания приложений или предоставьте своим пользователям групповой доступ для записи в приложение.