ฉันมีการตั้งค่าเซิร์ฟเวอร์ 12.10 ในเครื่องเสมือนโดยมีการตั้งค่าเครือข่ายเป็นบริดจ์ (โดยพื้นฐานแล้วจะเห็นว่าเป็นคอมพิวเตอร์ที่เชื่อมต่อกับสวิตช์ของฉัน)
ฉันติดตั้ง opensshd ผ่านapt-get
และสามารถเชื่อมต่อกับเซิร์ฟเวอร์โดยใช้ putty ด้วยชื่อผู้ใช้และรหัสผ่านของฉัน
ฉันตั้งค่าเกี่ยวกับการพยายามให้มันใช้การพิสูจน์ตัวตนของคีย์สาธารณะ / ส่วนตัว ฉันทำต่อไปนี้:
- สร้างคีย์โดยใช้ PuttyGen
- ย้ายกุญแจสาธารณะไปที่
/etc/ssh/myusername/authorized_keys
(ฉันกำลังใช้ไดเรกทอรีบ้านที่เข้ารหัส) ตั้งค่า
sshd_config
เช่น:PubkeyAuthentication yes AuthorizedKeysFile /etc/ssh/%u/authorized_keys StrictModes no PasswordAuthentication no UsePAM yes
เมื่อฉันเชื่อมต่อโดยใช้ผงสำหรับอุดรูหรือ WinSCP ฉันได้รับข้อผิดพลาดว่าไม่มีวิธีการตรวจสอบสิทธิ์ที่รองรับ (เซิร์ฟเวอร์ส่งคีย์สาธารณะ)
ถ้าฉันทำงานsshd
ในโหมด debug ฉันเห็น:
PAM: initializing for "username"
PAM: setting PAM_RHOST to "192.168.1.7"
PAM: setting PAM_TTY to "ssh"
userauth-request for user username service ssh-connection method publickey [preauth]
attempt 1 failures 0 [preauth]
test whether pkalg/pkblob are acceptable [preauth[
Checking blacklist file /usr/share/ssh/blacklist.RSA-1023
Checking blacklist file /etc/ssh/blacklist.RSA-1023
temporarily_use_uid: 1000/1000 (e=0/0)
trying public key file /etc/ssh/username/authorized_keys
fd4 clearing O_NONBLOCK
restore_uid: 0/0
Failed publickey for username from 192.168.1.7 port 14343 ssh2
Received disconnect from 192.168.1.7: 14: No supported authentication methods available [preauth]
do_cleanup [preauth]
monitor_read_log: child log fd closed
do_cleanup
PAM: cleanup
เหตุใดสิ่งนี้จึงเกิดขึ้นและฉันจะแก้ไขได้อย่างไร