วิธีหยุดพรอมต์ข้อความรหัสผ่าน SSH ได้อย่างไร [ปิด]


10

ฉันมีเซิร์ฟเวอร์ที่ฉันเพิ่งเปิด เมื่อฉันเป็น ssh nt_deployerมันถามฉันสำหรับรหัสผ่าน ssh:

Nets-Mac-Pro:mysite emai$ ssh nt_deployer@mysite-staging.nettheory.com
Enter passphrase for key '/Users/emai/.ssh/id_rsa': 
nt_deployer@mysite-staging.nettheory.com's password: 
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)

อย่างไรก็ตามเมื่อฉันเป็นemaiมันไม่ได้ถาม:

Nets-Mac-Pro:mysite emai$ ssh emai@mysite-staging.nettheory.com
emai@mysite-staging.nettheory.com's password: 
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)

มีคนบอกฉันได้หรือไม่ว่าฉันจะหยุดให้ข้อความรหัสผ่านไม่แสดงขึ้นมาได้nt_deployerอย่างไร


ฉันวิ่งssh-keygenแล้วก็ใช้งานได้
bigpotato

โปรดโพสต์โซลูชันของคุณและทำเครื่องหมายเป็นคำตอบ - ซึ่งจะหยุด ServerFault ที่เหลือด้วยคำถาม "ไม่ตอบ" ที่ไม่ต้องการความช่วยเหลือใด ๆ
TessellatingHeckler

เมื่อคุณวิ่งssh-keygenคุณอาจทำลายกุญแจก่อนหน้า คุณรู้หรือไม่ว่าทำไมคุณถึงมี
Valmiky Arquissandas

คำตอบ:


4

บรรทัดนี้ Enter passphrase for key '/Users/emai/.ssh/id_rsa': หมายความว่ารหัสของคุณได้รับการป้องกันด้วยรหัสผ่านที่ป้อนเมื่อสร้างรหัสนั้นทุกครั้งที่คุณใช้รหัสจะถูกขอรหัสผ่าน

โดยการเรียกใช้ ssh-keygen อีกครั้งโดยไม่ต้องป้อนรหัสผ่านที่คุณสร้างขึ้นอีกคีย์ ไม่มีรหัสผ่านในกุญแจ - ไม่มีการถามรหัสผ่าน :)

นี่คือคำพูดจาก mansh ssh-keygen:

โดยปกติโปรแกรมนี้สร้างรหัสและขอไฟล์ที่จะเก็บกุญแจส่วนตัว. รหัสสาธารณะจะถูกเก็บไว้ในไฟล์ที่มีชื่อเดียวกัน แต่ `` .pub '' ต่อท้าย โปรแกรมยังขอรหัสผ่าน วลีรหัสผ่านอาจว่างเปล่าเพื่อระบุว่าไม่มีข้อความรหัสผ่าน (คีย์โฮสต์ต้องมีวลีรหัสผ่านว่างเปล่า) หรืออาจเป็นสตริงที่มีความยาวตามอำเภอใจ วลีรหัสผ่านคล้ายกับรหัสผ่านยกเว้นอาจเป็นวลีที่มีชุดของคำเครื่องหมายวรรคตอนตัวเลขช่องว่างหรืออักขระใด ๆ ที่คุณต้องการ วลีรหัสผ่านที่ดีมีความยาว 10-30 ตัวอักษรไม่ใช่ประโยคที่ง่ายหรือสามารถคาดเดาได้ง่าย (ร้อยแก้วภาษาอังกฤษมีเอนโทรปีเพียง 1-2 บิตต่อตัวอักษรและมีวลีรหัสผ่านที่แย่มาก) และมีตัวอักษรผสมกับ อักขระที่ไม่ใช่ตัวอักษรและตัวเลข ข้อความรหัสผ่านสามารถเปลี่ยนแปลงได้ในภายหลังโดยใช้ตัวเลือก -p

ไม่มีวิธีในการกู้คืนข้อความรหัสผ่านที่สูญหาย หากข้อความรหัสผ่านสูญหายหรือถูกลืมจะต้องสร้างคีย์ใหม่และคัดลอกกุญแจสาธารณะที่เกี่ยวข้องไปยังเครื่องอื่น


ฉันพบว่า SSH จะถามรหัสผ่านหากมีปัญหาในการอ่านคีย์ส่วนตัว ฉันให้มันเป็นไฟล์เปล่าและมันขอข้อความรหัสผ่าน
makhdumi

1
นั่นหมายความว่าคุณต้องดำเนินการssh -vเพื่อดูข้อผิดพลาดจริงมักจะเป็นปัญหาสิทธิ์เนื่องจากไฟล์คีย์ต้องมี0600สิทธิ์
กระตุ้น

อาจเป็นไปได้ว่าผู้ใช้ไม่ได้เป็นเจ้าของไฟล์คีย์ ปัญหานี้มักเกิดขึ้นในขณะที่คัดลอกคีย์จากผู้ใช้รายอื่น
Weber สนิม

@stimur 400 น่าจะเพียงพอ
030

1
คำเตือน: อย่างน้อยสำหรับฉันOpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017openssh จะถามวลีรหัสผ่านแม้ในคีย์ที่ไม่มีข้อความรหัสผ่านหากไม่มีการขึ้นบรรทัดใหม่หลังจาก-----END OPENSSH PRIVATE KEY----- - เพียงเพิ่มบรรทัดใหม่หลังจากนั้นทำให้หยุดขอข้อความรหัสผ่านแปลก ๆ
hanshenrik

3

สร้างคำตอบของสิ่งกระตุ้นใช่ ssh กำลังขอข้อความรหัสผ่านของคีย์ ซึ่งหมายความว่าคุณกำลังใช้รหัสในสถานที่แรก

หากนั่นคือสิ่งที่คุณต้องการ - รหัสส่วนตัวที่ป้องกันด้วยวลีรหัสผ่านคุณสามารถใช้ssh-agentเพื่อจดจำรหัสผ่าน (หรือรหัสส่วนตัวที่ถอดรหัสได้ฉันไม่แน่ใจว่าจะใช้รหัสใด) เพื่อให้คุณสามารถเข้าสู่ระบบได้โดยไม่ต้องพิมพ์ข้อความรหัสผ่านอีกครั้ง คุณสามารถจำมันไปเรื่อย ๆ หรือตามระยะเวลาที่กำหนด

man ssh-agentและman ssh-add!


จะทำอย่างไรถ้าฉันเรียกใช้ ssh-agent, ssh-add และหลังจากใช้คำสั่ง ssh ก็ยังถามรหัสผ่าน? และเมื่อฉันป้อนข้อความรหัสผ่านมันจะถามรหัสผ่านด้วยเพราะคิดว่าข้อความรหัสผ่านอาจผิดหรือเปล่า หากข้อความรหัสผ่านผิดคำสั่ง ssh-add ก็จะไม่ยอมรับเช่นกัน
Darius.V

Darius: วลีรหัสผ่านผิดหรือคุณมีคีย์มากกว่าหนึ่งคีย์ ลองใช้ssh -vตัวเลือก
Valmiky Arquissandas

ฉันพยายาม -vvv หลังจากนั้นให้ถามวลีรหัสผ่าน - มันบอกว่า "ไม่มีข้อความรหัสผ่านให้ลองคีย์ถัดไป" แต่ pashprhase เป็นสตริงว่างดังนั้นฉันจึงกด Enter จากนั้นจะเขียนว่า "เราไม่ได้ส่งแพ็คเก็ตปิดการใช้งานวิธีการ" และ "รหัสผ่าน authmethod_lookup" และหลังจากนั้นไม่กี่ข้อความก็ถามรหัสผ่าน พยายามป้อน '' และป้อนจากนั้นจะแจ้งว่า - ข้อความรหัสผ่านไม่ถูกต้อง และฉันมีคีย์มากกว่าหนึ่งคีย์หนึ่งอยู่กับวลีรหัสผ่านอีกอันหนึ่งไม่มีรหัสผ่าน แต่ฉันผ่านไปยังคำสั่ง ssh -i id_rsa และมันควรรู้ว่าฉันใช้อันที่ไม่มีข้อความรหัสผ่าน
Darius.V

@ Darius.V: คุณสามารถระบุคีย์ได้อย่างชัดเจนโดย-i /path/to/keyและตรวจสอบเอาต์พุต verbose ของ ssh รวมทั้งตรวจสอบสิทธิ์สำหรับไฟล์คีย์ โปรดตรวจสอบว่าคุณใช้รหัสสาธารณะไม่ใช่ส่วนตัว
กระตุ้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.