Co to są SSH_TTY i SSH_CONNECTION?

12

Do czego służą zmienne SSH_TTYi SSH_CONNECTION? W moim systemie Ubuntu oba są puste; jakie powinny mieć wartości?

użytkownik3021707
źródło

Odpowiedzi:

13

Ze sshstrony podręcznika:

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.

Ponieważ nie jesteś w sesji ssh, więc te zmienne nie są ustawione.

Cuonglm
źródło
Rozumiem teraz, więc jakie jest znaczenie zmiennych SHELL i HOSTNAME?
user3021707,
2
Możesz wpisać man bashi wyszukać znaczenie tych zmiennych. Są zawsze ustawione, niezależnie od tego, czy jesteś w sesji ssh, czy nie.
cuonglm,
2

Obie zmienne są definiowane tylko po zalogowaniu ssh. SSH_TTYokreśla węzeł urządzenia bieżącego terminala wirtualnego (np /dev/pts/25.). SSH_CONNECTIONUstawiony jest adres IP i port na kliencie i na komputerze hosta (4 pola oddzielone spacjami).

orion
źródło
1

Jak wspomniano przez innych, zmienne te są ustawiane tylko podczas sesji. Aby to zobaczyć na własne oczy, sprawdź wartości w aktywnej sesji SSH:

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

źródło
1

Po udanym połączeniu OpenSSH ustawia kilka zmiennych środowiskowych.

SSH_CONNECTION pokazuje adres klienta, port wychodzący na kliencie, adres serwera i port przychodzący na serwerze.

SSH_TTY nazywa nazwę pseudoterminalu, w skrócie Ppty, na serwerze używanym przez połączenie.

Na przykład:

SSH_CONNECTION='192.168.223.17 36673 192.168.223.229 22'
SSH_TTY=/dev/pts/6
Maythux
źródło