OpenSSH ~ / .ssh / config การแทนที่เฉพาะโฮสต์ไม่ทำงาน


15

ฉันลองตั้งค่าแล้ว ~/.ssh/config ไฟล์ด้วยความช่วยเหลือของ คู่มือนี้ อย่างไรก็ตามการแทนที่ผู้ใช้เฉพาะโฮสต์นั้นไม่มีผลกระทบใด ๆ และ ssh พยายามเชื่อมต่อโดยใช้ชื่อผู้ใช้ทั่วโลกแทนชื่อโฮสต์ที่เฉพาะเจาะจง ssh config ของฉันถูกตั้งค่าแบบนี้:

$ cat ~/.ssh/config
User my_global_username

Host dev1
    HostName 10.40.10.41
    User my_username_on_dev_machines

ฉันได้ลองใส่ชื่อผู้ใช้ทั่วโลกด้านล่าง a Host * การเข้าไม่มีประโยชน์ รุ่น OpenSSH และรุ่นที่ฉันใช้งานอยู่คือ OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Feb 2013 `

คำตอบ:


25

ไม่มีค่า "ทั่วโลก" ใน .ssh/config. หากคุณต้องการมีค่าเริ่มต้นคุณจะต้องใส่ไว้ใน Host * มาตรา:

Host dev1
    HostName 10.40.10.41
    User my_username_on_dev_machines

Host *
    User my_global_username

หมายเหตุการสั่งซื้อ: นัดแรกชนะ!


2
คำถามติดตามสองสามข้อ: 1) พฤติกรรมนี้เปลี่ยนไปหรือไม่? คำแนะนำในเว็บไซต์ที่ลิงก์จะแสดงอย่างชัดเจน Host * ด้านบน
andyn

2) การแข่งขันนัดแรกชนะ แต่เห็นได้ชัดว่าเฉพาะค่าที่กำหนดไว้อย่างชัดเจนเท่านั้น เอกสารนี้อยู่ที่ไหนสักแห่ง? ผู้ชาย ssh_config ไม่แสดงสิ่งใด ๆ ที่เกี่ยวข้องในส่วนโฮสต์หรือรูปแบบ
andyn

5
ประโยคแรกในย่อหน้าที่สองใน ssh_config (5) พูดว่า: "สำหรับแต่ละพารามิเตอร์จะใช้ค่าที่ได้รับแรก" ฉันไม่รู้ว่าเมื่อเร็ว ๆ นี้มีการเปลี่ยนแปลงหรือไม่ แต่ฉันมี "โฮสต์ *" ที่ด้านล่างตลอดเวลา
cran
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.