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

12

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

user3021707
источник

Ответы:

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, поэтому эти переменные не установлены.

cuonglm
источник
Теперь я понял, в чем смысл переменных 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
Maythux
источник