SSH_TTY และ SSH_CONNECTION คืออะไร


12

สิ่งที่เป็นSSH_TTYและSSH_CONNECTIONตัวแปรหา? ในระบบ Ubuntu ของฉันทั้งคู่จะว่างเปล่า พวกเขาควรมีค่าอะไร

คำตอบ:


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

2
คุณสามารถพิมพ์man bashและค้นหาความหมายของตัวแปรเหล่านั้น พวกเขาจะตั้งค่าเสมอไม่ว่าคุณจะอยู่ในเซสชั่น ssh หรือไม่
cuonglm

2

sshตัวแปรทั้งสองจะถูกกำหนดไว้เฉพาะเมื่อคุณได้เข้าสู่ระบบผ่าน SSH_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 ตั้งชื่ออุปกรณ์ pseudo-terminal ย่อ Ppty บนเซิร์ฟเวอร์ที่ใช้โดยการเชื่อมต่อ

ตัวอย่างเช่น:

SSH_CONNECTION='192.168.223.17 36673 192.168.223.229 22'
SSH_TTY=/dev/pts/6
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.