ใน Ubuntu ไฟล์การกำหนดค่าไคลเอนต์ / เซิร์ฟเวอร์ OpenSSH คือ:
/etc/ssh/sshd_config
- ไฟล์การกำหนดค่าของเซิร์ฟเวอร์ SSH (ภูต) สามารถเพิ่มไฟล์คอนฟิกูเรชันเพิ่มเติมในไดเร็กทอรีได้ /etc/ssh/sshd_config.d/
และนามสกุลไฟล์ต้องเป็น .conf
(สิ่งเหล่านี้ถูกเรียกใช้ในตอนต้นของ /etc/ssh/sshd_config
).
/etc/ssh/ssh_config
- ไฟล์การกำหนดค่าทั้งระบบสำหรับไคลเอนต์ SSH การตั้งค่าในไฟล์นี้ใช้กับผู้ใช้ทั้งหมด สามารถเพิ่มไฟล์คอนฟิกูเรชันเพิ่มเติมในไดเร็กทอรีได้ /etc/ssh/ssh_config.d/
และนามสกุลไฟล์ต้องเป็น .conf
(สิ่งเหล่านี้ถูกเรียกใช้ในตอนต้นของ /etc/ssh/ssh_config
).
~/.ssh/config
- ไฟล์การกำหนดค่าส่วนบุคคลสำหรับไคลเอ็นต์ SSH ไฟล์นี้อยู่ในโฮมไดเร็กทอรีของผู้ใช้ภายในไดเร็กทอรีพิเศษชื่อ .ssh
. ไดเร็กทอรีเองต้องมีสิทธิ์ส่วนตัว (700) และไฟล์ข้างในต้องเป็นส่วนตัวด้วย (600)
คีย์สาธารณะ/ส่วนตัวเป็นกรรมสิทธิ์ของผู้ใช้ ดังนั้นจึงเป็นคีย์ส่วนตัว :) โดยค่าเริ่มต้นจะอยู่ในไดเร็กทอรีของผู้ใช้ ~/.ssh
.
ในคำตอบของฉันในส่วนที่ 1 และ 2 ได้อธิบายวิธีตั้งค่าการตรวจสอบสิทธิ์ SSH ตามคีย์: https://askubuntu.com/a/986245/566421
นี่คือตัวอย่างกรณีที่คีย์ SSH ไม่ได้อยู่ในโฮมไดเร็กทอรีของผู้ใช้: https://askubuntu.com/a/882379/566421
หากคุณต้องการสร้างไดเร็กทอรีใหม่ /etc/ssh
คุณสามารถล้างไคลเอนต์และเซิร์ฟเวอร์ OpenSSH จากนั้นติดตั้งใหม่ (แต่คุณอาจไม่ต้องการสิ่งนี้):
อัปเดต sudo apt
sudo apt ล้าง opensh-ไคลเอนต์ opensh-เซิร์ฟเวอร์
sudo rm -R /etc/ssh
sudo apt ติดตั้ง openssh-ไคลเอนต์ opensh-เซิร์ฟเวอร์