Что такое SSH_TTY и SSH_CONNECTION?


12

Для чего SSH_TTYи SSH_CONNECTIONпеременные? В моей системе Ubuntu они оба пусты; какие ценности они должны иметь?

Ответы:


13

С sshman-страницы:

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_TTY

This is set to the name of the tty (path to the device) associated
with the current shell or command.  If the current session has no tty,
this variable is not set.

Потому что вы не в сеансе ssh, поэтому эти переменные не установлены.


Теперь я понял, в чем смысл переменных SHELL и HOSTNAME?
user3021707

2
Вы можете ввести man bashи найти значение этих переменных. Они всегда установлены, независимо от того, находитесь ли вы в ssh-сессии или нет.
cuonglm

2

Обе переменные определяются только когда вы вошли в систему через ssh. SSH_TTYуказывает узел устройства текущего виртуального терминала (например /dev/pts/25). Для SSH_CONNECTIONip и port установлено значение на клиенте и на хост-машине (4 поля разделены пробелами).


1

Как уже упоминалось, эти переменные устанавливаются только во время сеанса. Чтобы убедиться в этом, проверьте значения в активном сеансе SSH:

ssh user@host 'echo SSH_TTY: $SSH_TTY SSH_CONNECTION: $SSH_CONNECTION'

1

После успешного соединения OpenSSH устанавливает несколько переменных среды.

SSH_CONNECTION показывает адрес клиента, исходящий порт на клиенте, адрес сервера и входящий порт на сервере.

SSH_TTY называет псевдотерминальное устройство, сокращенно Ppty, на сервере, используемом соединением.

Например:

SSH_CONNECTION='192.168.223.17 36673 192.168.223.229 22'
SSH_TTY=/dev/pts/6
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.