ใน 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-เซิร์ฟเวอร์