web-dev-qa-db-ja.com

SSH_TTYおよびSSH_CONNECTIONとは何ですか?

SSH_TTYおよびSSH_CONNECTION変数は何のためのものですか?私のUbuntuシステムでは、どちらも空白です。彼らはどのような価値を持っているべきですか?

12
user3021707

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セッションではないため、これらの変数は設定されていません。

13
cuonglm

どちらの変数も、sshからログインした場合にのみ定義されます。 SSH_TTYは、現在の仮想端末のデバイスノードを指定します(例:/dev/pts/25)。 SSH_CONNECTIONは、クライアントとホストマシンのIPおよびポートに設定されます(空白で区切られた4つのフィールド)。

2
orion

他の人が述べたように、これらの変数はセッションが行われたときにのみ設定されます。これを自分で確認するには、アクティブなSSHセッションで値を調べます。

ssh user@Host 'echo SSH_TTY: $SSH_TTY SSH_CONNECTION: $SSH_CONNECTION'
1
user13742

接続が成功すると、OpenSSHはいくつかの環境変数を設定します。

SSH_CONNECTIONは、クライアントのアドレス、クライアントの送信ポート、サーバーのアドレス、サーバーの受信ポートを示します。

SSH_TTYは、接続で使用されるサーバー上の擬似端末デバイス(略称Ppty)を指定します。

例えば:

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