什么是SSH_TTY和SSH_CONNECTION?


12

有什么SSH_TTYSSH_CONNECTION变量?在我的Ubuntu系统上,它们都是空白。他们应该具有什么价值?

Answers:


13

ssh手册页:

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会话中,所以未设置这些变量。


我现在明白了,那么SHELL和HOSTNAME变量又是什么意思?
user3021707 2014年

2
您可以键入man bash并搜索这些变量的含义。无论您是否处于ssh会话中,它们始终被设置。
cuonglm

2

仅当您通过登录时,才定义两个变量sshSSH_TTY指定当前虚拟终端的设备节点(例如/dev/pts/25)。将SSH_CONNECTION被设置为IP地址和端口上的客户端和主机上(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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.