Score:0

ไม่สามารถเชื่อมต่อกับ Dropbear SSH โดยใช้ไฟล์คีย์ได้ (การอนุญาตถูกปฏิเสธ (publickey))

ธง ma

ฉันใช้โฮมเซิร์ฟเวอร์ของฉัน (Ubuntu 20.04 LTS) ด้วยรูทที่เข้ารหัสและลองใช้ dropbear ใน initramfs เพื่อให้สามารถปลดล็อกได้จากระยะไกลระหว่างการบู๊ต ในการตั้งค่าความสามารถในการปลดล็อกระยะไกล ฉันทำตามคำแนะนำนี้โดยทั่วไป: วิธีติดตั้งเซิร์ฟเวอร์ Ubuntu 18.04.x ​​ที่เข้ารหัสของ LUKS และเปิดใช้งานการปลดล็อกระยะไกล

บน MacBook ของฉัน ฉันสร้างคีย์ ssh คู่หนึ่งสำเร็จแล้ว:

(ฐาน) myuser@myMBP ~ % ssh-keygen -t rsa -b 4096

หลังจากนั้นฉันได้เพิ่มรหัสสาธารณะที่สร้างขึ้นใหม่ใน /etc/dropbear-initramfs/authorized_keys:

myuser@myserver:~$ cat /etc/dropbear-initramfs/authorized_keys 
ไม่ส่งต่อพอร์ต, ไม่ส่งต่อตัวแทน, ไม่ส่งต่อ x11, command=/bin/cryptroot-unlock ssh-rsa <here-goes-my-ssh-pubkey> [email protected]

หลังจากนั้นวิ่ง myuser@myserver:~$ sudo update-initramfs -c -k ทั้งหมด ทุกอย่างเป็นไปด้วยดี

อย่างไรก็ตาม การพยายามลงชื่อเข้าใช้เซิร์ฟเวอร์ Dropbear SSH ไม่ได้ผล:

(ฐาน) myuser@myMBP ~ % ssh -i ~/.ssh/id_rsa -o "HostKeyAlgorithms ssh-rsa" -p 9999 [email protected] -vvv
OpenSSH_8.6p1, LibreSSL 2.8.3
debug1: อ่านข้อมูลการกำหนดค่า /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config บรรทัดที่ 21: รวม /etc/ssh/ssh_config.d/* ที่ไม่ตรงกับไฟล์
debug1: /etc/ssh/ssh_config บรรทัดที่ 54: การใช้ตัวเลือกสำหรับ *
debug2: Solve_canonicalize: ชื่อโฮสต์ 192.168.xxx.xxx คือที่อยู่
debug3: ขยาย UserKnownHostsFile '~/.ssh/known_hosts' -> '/Users/myuser/.ssh/known_hosts'
debug3: ขยาย UserKnownHostsFile '~/.ssh/known_hosts2' -> '/Users/myuser/.ssh/known_hosts2'
debug1: ผู้ให้บริการ Authenticator $SSH_SK_PROVIDER ไม่สามารถแก้ไขได้ ปิดการใช้งาน
debug3: ssh_connect_direct: เข้า
debug1: กำลังเชื่อมต่อกับพอร์ต 192.168.xxx.xxx [192.168.xxx.xxx] 9999
debug3: set_sock_tos: ตั้งค่าซ็อกเก็ต 3 IP_TOS 0x48
debug1: สร้างการเชื่อมต่อแล้ว
debug1: ไฟล์ข้อมูลประจำตัว /Users/myuser/.ssh/id_rsa ประเภท 0
debug1: ไฟล์ข้อมูลประจำตัว /Users/myuser/.ssh/id_rsa-cert ประเภท -1
debug1: สตริงเวอร์ชันท้องถิ่น SSH-2.0-OpenSSH_8.6
debug1: รีโมตโปรโตคอลเวอร์ชัน 2.0 ซอฟต์แวร์รีโมตเวอร์ชัน dropbear_2019.78
debug1: compat_banner: ไม่ตรงกัน: dropbear_2019.78
debug2: fd 3 การตั้งค่า O_NONBLOCK
debug1: ตรวจสอบสิทธิ์ 192.168.xxx.xxx:9999 เป็น 'root'
debug3: ส่งแพ็คเก็ต: ประเภท 20
debug1: ส่ง SSH2_MSG_KEXINIT แล้ว
debug3: รับแพ็กเก็ต: พิมพ์ 20
debug1: ได้รับ SSH2_MSG_KEXINIT แล้ว
debug2: ข้อเสนอ KEXINIT ของลูกค้าในพื้นที่
debug2: อัลกอริทึม KEX: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16 -sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c
debug2: อัลกอริทึมคีย์โฮสต์: ssh-rsa
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],hmac [email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],hmac [email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: การบีบอัด ctos: none,[email protected],zlib
debug2: การบีบอัด stoc: none,[email protected],zlib
debug2: ภาษา ctos: 
debug2: ภาษา stoc: 
debug2: first_kex_follow 0 
debug2: สงวนไว้ 0 
debug2: ข้อเสนอเพียร์เซิร์ฟเวอร์ KEXINIT
debug2: อัลกอริทึม KEX: curve25519-sha256,[email protected],ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1 ,[email protected]
debug2: อัลกอริทึมคีย์โฮสต์: ecdsa-sha2-nistp256,ssh-rsa,ssh-dss
debug2: ciphers ctos: aes128-ctr,aes256-ctr,aes128-cbc,aes256-cbc,3des-ctr,3des-cbc
debug2: ciphers stoc: aes128-ctr,aes256-ctr,aes128-cbc,aes256-cbc,3des-ctr,3des-cbc
debug2: MACs ctos: hmac-sha1-96,hmac-sha1,hmac-sha2-256
debug2: MACs stoc: hmac-sha1-96,hmac-sha1,hmac-sha2-256
debug2: การบีบอัด ctos: [email protected] ไม่มี
debug2: การบีบอัด stoc: [email protected] ไม่มี
debug2: ภาษา ctos: 
debug2: ภาษา stoc: 
debug2: first_kex_follow 0 
debug2: สงวนไว้ 0 
debug1: kex: อัลกอริทึม: curve25519-sha256
debug1: kex: อัลกอริทึมคีย์โฮสต์: ssh-rsa
debug1: kex: server->client cipher: aes128-ctr MAC: การบีบอัด hmac-sha2-256: ไม่มี
debug1: kex: client->server cipher: aes128-ctr MAC: การบีบอัด hmac-sha2-256: ไม่มี
debug3: ส่งแพ็คเก็ต: ประเภท 30
debug1: คาดหวัง SSH2_MSG_KEX_ECDH_REPLY
debug3: รับแพ็กเก็ต: ประเภท 31
debug1: ได้รับ SSH2_MSG_KEX_ECDH_REPLY แล้ว
debug1: รหัสโฮสต์เซิร์ฟเวอร์: ssh-rsa SHA256:vdFXJflh1ltg2QQ6A8S5qnjtPBtKR3h6l548DAh6Hwk
debug3: put_host_port: [192.168.xxx.xxx]:9999
debug3: put_host_port: [192.168.xxx.xxx]:9999
debug3: record_hostkey: พบประเภทคีย์ RSA ในไฟล์ /Users/myuser/.ssh/known_hosts:4
debug3: load_hostkeys_file: โหลด 1 คีย์จาก [192.168.xxx.xxx]:9999
debug1: load_hostkeys: fopen /Users/myuser/.ssh/known_hosts2: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
debug1: รู้จักโฮสต์ '[192.168.xxx.xxx]:9999' และตรงกับคีย์โฮสต์ RSA
debug1: พบรหัสใน /Users/myuser/.ssh/known_hosts:4
debug3: ส่งแพ็คเก็ต: ประเภท 21
debug2: set_newkeys: โหมด 1
debug1: คีย์ใหม่หลังจากบล็อก 4294967296
debug1: ส่ง SSH2_MSG_NEWKEYS แล้ว
debug1: คาดหวัง SSH2_MSG_NEWKEYS
debug3: รับแพ็กเก็ต: พิมพ์ 21
debug1: ได้รับ SSH2_MSG_NEWKEYS แล้ว
debug2: set_newkeys: โหมด 0
debug1: ป้อนใหม่หลังจากบล็อก 4294967296
debug1: จะพยายามคีย์: /Users/myuser/.ssh/id_rsa RSA SHA256:XizaS2UPC7m5C37NwgUVI8uPvLBzLINvRSBnpKGkzPE ชัดเจน
debug2: pubkey_prepare: เสร็จแล้ว
debug3: ส่งแพ็กเก็ต: ประเภท 5
debug3: รับแพ็กเก็ต: ประเภท 6
debug2: service_accept: ssh-userauth
debug1: ได้รับ SSH2_MSG_SERVICE_ACCEPT แล้ว
debug3: ส่งแพ็คเก็ต: ประเภท 50
debug3: รับแพ็กเก็ต: พิมพ์ 51
debug1: การรับรองความถูกต้องที่สามารถดำเนินการต่อ: publickey
debug3: เริ่มต้นใหม่ ส่งผ่านคีย์สาธารณะรายการอื่น
debug3: คีย์สาธารณะที่ต้องการ, แป้นพิมพ์โต้ตอบ, รหัสผ่าน
debug3: authmethod_lookup คีย์สาธารณะ
debug3: ต้องการที่เหลือ: แป้นพิมพ์โต้ตอบรหัสผ่าน
debug3: authmethod_is_enabled คีย์สาธารณะ
debug1: วิธีการรับรองความถูกต้องถัดไป: publickey
debug1: เสนอรหัสสาธารณะ: /Users/myuser/.ssh/id_rsa RSA SHA256:XizaS2UPC7m5C37NwgUVI8uPvLBzLINvRSBnpKGkzPE ชัดเจน
debug3: ส่งแพ็คเก็ต: ประเภท 50
debug2: เราส่งแพ็กเก็ต publickey แล้ว รอการตอบกลับ
debug3: รับแพ็กเก็ต: พิมพ์ 51
debug1: การรับรองความถูกต้องที่สามารถดำเนินการต่อ: publickey
debug2: เราไม่ได้ส่งแพ็คเก็ต ปิดการใช้งานเมธอด
debug1: ไม่ต้องลองวิธีการรับรองความถูกต้องอีกต่อไป
[email protected]: การอนุญาตถูกปฏิเสธ (publickey)

เหตุใดฉันจึงพยายามแก้ไขปัญหา ฉันพบข้อบกพร่องของ Ubuntu ต่อไปนี้: Dropbear initramfs hook สร้างไฟล์ที่ได้รับอนุญาตในโฟลเดอร์ที่ไม่ถูกต้อง แต่การใช้วิธีแก้ปัญหาที่แนะนำไม่ได้ช่วยในกรณีของฉัน...

คุณมีเงื่อนงำอะไรที่อาจเกิดขึ้น?

ขอบคุณล่วงหน้า, มนุษย์ทราย

Score:0
ธง ma

หลังจากที่เกือบจะบ้าเพราะฉันคิดไม่ออกว่าทำไม Dropbear ถึงไม่ยอมรับรหัสของฉัน ฉันกลับไปดูทุกอย่างเป็นครั้งที่ 100 และในที่สุดก็สังเกตเห็นยัติภังค์หายไปในไฟล์ Authorized_keys:

ไม่ส่งต่อพอร์ต, ไม่ส่งต่อตัวแทน, ไม่ส่งต่อ x11, command="/bin/cryptroot-unlock" ssh-rsa <here-goes-my-ssh-pubkey> [email protected]

ทำงานได้อย่างไม่มีที่ติในขณะนี้ :-)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา