ทำให้ ssh เป็นโฮสต์ระดับโลกสำหรับผู้ใช้ทั้งหมดในคอมพิวเตอร์


15

ดังนั้นSSHจึงมีไฟล์เหล่านี้ที่กำหนดการตั้งค่าสำหรับผู้ใช้เฉพาะ

~/.ssh/authorized_keys
~/.ssh/config
~/.ssh/id_rsa
~/.ssh/id_rsa.pub
~/.ssh/known_hosts

ฉันต้องการที่จะโลกาภิวัฒน์บางไฟล์เหล่านี้เช่นและconfig known_hostsเพื่อให้ผู้ใช้รายอื่น (รวมถึงรูท ) สามารถแชร์โฮสต์ที่กำหนดค่าไว้ได้

อะไรจะเป็นวิธีที่ดีที่สุดในการทำเช่นนี้?

คำตอบ:


21

สำหรับ~/.ssh/configคุณสามารถทำการตั้งค่าทั้งระบบที่เกี่ยวข้องใน / etc / ssh / ssh_config ตามหน้า man :

ssh (1) รับข้อมูลการกำหนดค่าจากแหล่งต่อไปนี้ตามลำดับต่อไปนี้:

  1. ตัวเลือกบรรทัดคำสั่ง
  2. ไฟล์การกำหนดค่าของผู้ใช้ (~ / .ssh / config)
  3. ไฟล์คอนฟิกูเรชันทั่วทั้งระบบ (/ etc / ssh / ssh_config)

สำหรับแต่ละพารามิเตอร์จะได้รับค่าแรกที่ได้รับ ไฟล์การกำหนดค่าประกอบด้วยส่วนที่คั่นด้วยข้อมูลจำเพาะ“ โฮสต์” และส่วนนั้นจะใช้กับโฮสต์ที่ตรงกับหนึ่งในรูปแบบที่กำหนดในข้อกำหนด

โปรดทราบว่าจะใช้เฉพาะค่าแรกเท่านั้นซึ่งหมายความว่าผู้ใช้สามารถแทนที่ตัวเลือกการกำหนดค่าทั้งระบบในเครื่อง

สำหรับ~/.ssh/known_hostsคุณสามารถใช้/etc/ssh/ssh_known_hostsหรือไฟล์อื่นที่ระบุโดยตัวเลือกการกำหนดค่า GlobalKnownHostsFile:

GlobalKnownHostsFile

ระบุไฟล์ที่จะใช้สำหรับฐานข้อมูลคีย์โฮสต์ส่วนกลางแทน / etc / ssh / ssh_known_hosts

ฉันไม่แน่ใจว่ามันเป็นไปได้สำหรับไฟล์อื่น ๆ แต่ผมคิดว่าคุณสามารถทำงานได้บางสิ่งบางอย่างออกมาพร้อมกับ symlinks ถ้าคุณจริงๆอยากจะแบ่งปันคีย์ส่วนตัวในหมู่ผู้ใช้เป็นอย่างดี


1
คุณพิมพ์ผิดในข้อความ GlobalKnownHostsFile ของคุณ
cjm

1
คุณสามารถตั้งค่า UserKnownHostsFile = / dev / null ssh จะไม่พบกุญแจที่ถูกต้องในไฟล์ users_hosts ของผู้ใช้ แต่ผู้ใช้ยังสามารถรับได้ชั่วคราว
Janning

1
@Janning ดูเหมือนว่ามีIgnoreUserKnownHostsตัวเลือกสำหรับสิ่งนั้น (ค่าyesหรือno)
kael

โปรดทราบว่า/etc/ssh/ssh_known_hostsไฟล์ทั่วโลกจะต้องสามารถอ่านได้ทั่วโลก ฉันใช้ssh-keygen -Hf /etc/ssh/ssh_known_hostsในการทำเหมืองใหม่หลังจากเพิ่มรายการด้วยตนเองและปรากฏว่ามีการตั้งค่าไว้สำหรับเจ้าของเท่านั้น
kael

1

เนื่องจาก root มีประสิทธิภาพฉันจะใช้งาน cron root เพื่อคัดลอกไฟล์จากผู้ใช้รายอื่น โฮสต์ที่รู้จักและคีย์ที่ได้รับอนุญาตสามารถต่อท้ายได้ ถ้ามันอยู่ในพาร์ติชั่นเดียวก็จะมีตัวเลือกฮาร์ดลิงค์ ไม่แน่ใจว่า symlink จะทำงานกับไฟล์ได้หรือไม่ แต่คุณสามารถลองใช้งานได้เช่นกันคุณต้องใส่ไว้ในที่แชร์ แต่ปลอดภัย


2
มันจะป้องกันผู้ใช้จากการเพิ่มโฮสต์ของตัวเองซึ่ง IMHO นั้นไม่ได้ตั้งใจ
Maciej Piechotka

ฉันลืมว่าไฟล์ hardlink ต้องมีค่า perms เท่ากันหรือไม่ อย่างไรก็ตามคุณสามารถคัดลอกไฟล์ด้วย cron แล้วตรวจสอบให้แน่ใจว่า perms ถูกต้อง
xenoterracide
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.