ทำไม SSH ถึงขอรหัสผ่านกุญแจส่วนตัวของฉันทุกครั้ง


9

ตั้งแต่เมื่อวานทุกครั้งที่ฉันพยายามเชื่อมต่อกับเซิร์ฟเวอร์ ssh ฉันได้รับรหัสผ่านของฉัน ฉันควรทำอย่างไรเพื่อให้ SSH ไม่ขอรหัสผ่านของฉันทุกครั้ง


คนตาบอดเดาโดยฉัน: ssh-add -lตรวจสอบว่าที่สำคัญของคุณจะเต็มไปด้วย
jw013

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

หากเป็น "ตั้งแต่เมื่อวาน" อาจเป็นเพียงว่าคุณได้อัปเดตระบบของคุณและตอนนี้ ssh-agent ไม่ทำงานอีกต่อไป
Coren

คำตอบ:


5

ใส่กุญแจสาธารณะของคุณhostnachine:~/.ssh/authorized_keysและตรวจสอบให้แน่ใจว่ามันมีสิทธิ์ที่เหมาะสม - chmod 600 ดูรายละเอียดเพิ่มเติมได้ที่ man page, AUTHENTICATION โปรดทราบว่าอาจกำหนดค่า sshd ให้ไม่อนุญาตวิธีการลงชื่อเข้าใช้นี้แม้ว่าฉันจะไม่เข้าใจว่าทำไม


ขอบคุณที่ทำงาน อย่างไรก็ตามคุณสามารถอธิบายได้ว่าทำไมฉันต้องใส่ไว้ใน authorized_keys และทำไมมันถึงใช้งานไม่ได้มาก่อน
เบ็นดี

1
man page มีข้อมูลในส่วน AUTHENTICATION ทำไมมันถึงทำงานมาก่อนฉันไม่สามารถมั่นใจได้หากไม่มีการเข้าถึงรูทเครื่องของคุณและทำงานด้านนิติเวช
Sardathrion - ต่อต้านการละเมิด SE

2
คุณยังสามารถใช้ssh-copy-idเพื่อรับกุญแจสาธารณะของคุณคัดลอกโดยอัตโนมัติไปยังโฮสต์ปลายทางหากคุณไม่ต้องการ / ต้องการคัดลอกด้วยตนเอง
Coren

2

ตรวจสอบการอนุญาตของไดเรกทอรีและการอนุญาตของไฟล์

$HOME ไม่สามารถเขียนได้โดยกลุ่มหรืออื่น ๆ

$HOME/.sshจำเป็นต้องมี700สิทธิ์ไม่สามารถอ่านเขียนได้หรือเรียกใช้งานได้โดยกลุ่มและอื่น ๆ

$HOME/.ssh/authorized_keys ที่จะไม่เขียนหรือดำเนินการโดยทุกคน

หากคุณพบว่าการอนุญาตไม่เข้มงวดพอลองหาสาเหตุที่ทำให้เกิดปัญหา ครั้งล่าสุดที่เรื่องนี้เกิดขึ้นกับฉันฉันได้รวบรวม PHP ตั้งแต่เริ่มต้น การดำเนินการmake installในฐานะ root (Slackware) เปลี่ยนสิทธิ์และความเป็นเจ้าของของ/หรือ/homeตามที่ฉันจำได้และป้องกันไม่ให้ ssh ทำงานกับauthorized_keysและid_rsa.pubไฟล์ที่มีอยู่และทำงานมานาน คุณต้องการพิจารณาว่าอะไรเป็นสาเหตุของปัญหาเนื่องจากความเป็นเจ้าของไดเรกทอรีที่เปลี่ยนแปลงและ / หรือการอนุญาตอาจเกิดขึ้นได้เนื่องจากการติดตั้งรูทคิทหรืออะไรทำนองนั้น


สิ่งนี้แก้ไขได้สำหรับฉัน .. หลังจากแก้ไขสิทธิ์ของฉันฉันเพิ่มโดยใช้ 'ssh-add' .. หลังจากปิดเทอร์มินัลนั้นแล้วเปิดใหม่อีกครั้งและทำ 'ssh-add -l' (L ด้านล่าง) ฉันเห็นตัวตนของฉัน ซึ่งใช้ได้ .. ฉันสามารถ SSH ไปยังกล่องทั้งหมดของฉันโดยไม่ต้องพิมพ์รหัสส่วนตัวของฉันผ่าน 300+ ครั้งต่อวัน !! ขอบคุณ!
Henry van Megen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.