เข้าถึงชื่อโฮสต์ท้องถิ่นเมื่อเชื่อมต่อกับโฮสต์ระยะไกล


2

ฉันเชื่อมต่อจากเครื่องไปยังเครื่องA Bในเครื่องBฉันต้องการพิมพ์Aชื่อโฮสต์ในพรอมต์คำสั่งของ bash

ฉันพยายามใช้มันwho -mและทำอะไรบางอย่างcutเอาท์พุทที่แตกต่างกันระหว่างยูนิกซ์ที่แตกต่างกัน

ฉันไม่พบวิธีการรับชื่อโฮสต์นี้โดยตรง

ฉันเห็นสมบัติสองอย่าง:

  1. ผ่านไปอย่างใดอย่างหนึ่งเมื่อเชื่อมต่อโดยใช้ssh(ฉันไม่คิดว่าฉันจะใช้อย่างอื่นเพื่อเชื่อมต่อจากระยะไกล)
  2. whoผลลัพธ์ของการประมวลผลในหลายวิธีและหวังว่าจะมีรุ่นไม่มากเกินไป

ต้องการความเป็นไปได้ (1) เนื่องจากฉันสามารถส่งชื่อโฮสต์ที่ฉันได้กำหนดให้กับโฮสต์ไม่ใช่ชื่อผู้ให้บริการ แต่ฉันไม่สามารถหาวิธีเก็บถาวรสิ่งนี้man ssh_configได้

คำตอบ:


1

การเข้าถึงที่อยู่ IP ของลูกค้านั้นค่อนข้างง่าย ใน. profile ของฉันฉันมีตัวอย่างต่อไปนี้:

PS1="\T [\h:\w]\n(from ${SSH_CLIENT%% *}) $ "

ซึ่งสร้างพรอมต์สองบรรทัดที่มีลักษณะดังนี้:

08:25:14 [fluorine:~]
(from 72.69.85.67) $ 

หากการรับชื่อโฮสต์ของไคลเอนต์เป็นสิ่งสำคัญสำหรับคุณคุณสามารถใช้ที่อยู่ IP นั้นและทำการค้นหา DNS ย้อนกลับบนที่อยู่ IP ที่แยกออกมา

หรือตามที่คุณแนะนำคุณสามารถส่งตัวแปรสภาพแวดล้อมไปยังเซิร์ฟเวอร์โดยสมมติว่าคุณมีเซิร์ฟเวอร์ ssh ที่กำหนดค่าให้ทำเช่นนั้น คุณสามารถอ้างถึงคำตอบนี้สำหรับความช่วยเหลือในการทำเช่นนั้น


ฉันพบแล้ว$SSH_CONNECTIONในenvแต่ฉันไม่ต้องการที่จะมีการกำหนดค่าชื่อโฮสต์ไม่หนึ่งที่ผมได้รับจาก DNS ลิงค์ที่คุณให้ดูมีแนวโน้มมากขึ้นจะมีลักษณะที่
Jens Erat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.