SSH_TTY
およびSSH_CONNECTION
変数は何のためのものですか?私のUbuntuシステムでは、どちらも空白です。彼らはどのような価値を持っているべきですか?
ssh
manページから:
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セッションではないため、これらの変数は設定されていません。
どちらの変数も、ssh
からログインした場合にのみ定義されます。 SSH_TTY
は、現在の仮想端末のデバイスノードを指定します(例:/dev/pts/25
)。 SSH_CONNECTION
は、クライアントとホストマシンのIPおよびポートに設定されます(空白で区切られた4つのフィールド)。
他の人が述べたように、これらの変数はセッションが行われたときにのみ設定されます。これを自分で確認するには、アクティブなSSHセッションで値を調べます。
ssh user@Host 'echo SSH_TTY: $SSH_TTY SSH_CONNECTION: $SSH_CONNECTION'
接続が成功すると、OpenSSHはいくつかの環境変数を設定します。
SSH_CONNECTION
は、クライアントのアドレス、クライアントの送信ポート、サーバーのアドレス、サーバーの受信ポートを示します。
SSH_TTY
は、接続で使用されるサーバー上の擬似端末デバイス(略称Ppty)を指定します。
例えば:
SSH_CONNECTION='192.168.223.17 36673 192.168.223.229 22'
SSH_TTY=/dev/pts/6