Que sont SSH_TTY et SSH_CONNECTION?

12

À quoi servent les variables SSH_TTYet SSH_CONNECTION? Sur mon système Ubuntu, les deux sont vides; quelles valeurs devraient-ils avoir?

user3021707
la source

Réponses:

13

Depuis la sshpage de manuel:

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.

Parce que vous n'êtes pas dans une session ssh, ces variables ne sont donc pas définies.

cuonglm
la source
Je comprends maintenant, alors quelle est la signification des variables SHELL et HOSTNAME aussi?
user3021707
2
Vous pouvez taper man bashet rechercher la signification de ces variables. Ils sont toujours définis, que vous soyez en session ssh ou non.
cuonglm
2

Les deux variables ne sont définies que lorsque vous êtes connecté via ssh. SSH_TTYspécifie le nœud de périphérique du terminal virtuel actuel (par exemple /dev/pts/25). Le SSH_CONNECTIONest défini sur ip et port sur le client et sur la machine hôte (4 champs séparés par des espaces).

orion
la source
1

Comme mentionné par d'autres, ces variables ne sont définies que lorsqu'une session est effectuée. Pour voir cela par vous-même, inspectez les valeurs sous une session SSH active:

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

la source
1

Lors d'une connexion réussie, OpenSSH définit plusieurs variables d'environnement.

SSH_CONNECTION affiche l'adresse du client, le port sortant sur le client, l'adresse du serveur et le port entrant sur le serveur.

SSH_TTY nomme le pseudo-terminal, abrégé Ppty, sur le serveur utilisé par la connexion.

Par exemple:

SSH_CONNECTION='192.168.223.17 36673 192.168.223.229 22'
SSH_TTY=/dev/pts/6
Maythux
la source