ฉันคิดว่าฉันลืมข้อความรหัสผ่านสำหรับคีย์ SSH ของฉัน แต่ฉันมีลางสังหรณ์ว่ามันอาจจะเป็นอะไร ฉันจะตรวจสอบว่าฉันถูกต้องได้อย่างไร
ฉันคิดว่าฉันลืมข้อความรหัสผ่านสำหรับคีย์ SSH ของฉัน แต่ฉันมีลางสังหรณ์ว่ามันอาจจะเป็นอะไร ฉันจะตรวจสอบว่าฉันถูกต้องได้อย่างไร
คำตอบ:
คุณสามารถยืนยันวลีรหัสผ่าน SSH ของคุณได้โดยพยายามโหลดลงในตัวแทน SSH ของคุณ ด้วยOpenSSHssh-add
นี้จะทำผ่านทาง
เมื่อคุณทำเสร็จแล้วอย่าลืมที่จะขนข้อความรหัสผ่าน SSH ssh-add -d
ของคุณจากท่าเรือโดยการเรียกใช้
ssh-add -d
# restorecon -R -v /home/user
เพื่อตรวจสอบว่านี่เป็นปัญหาหรือไม่ (แม้ว่าคำสั่งก่อนหน้านี้จะไม่ทำให้เกิดปัญหาใด ๆ ) คุณสามารถใช้$ ls -lZR <home_dir>
เพื่อตรวจสอบบริบท หากคุณไม่เห็นuser_home_t
ในไดเรกทอรีบ้านและssh_home_t
ใน.ssh
ไดเรกทอรีและauthorized_keys
ไฟล์ให้ใช้restorecon
เพื่อแก้ไข
ssh-keygen -y
ssh-keygen -y
จะแจ้งให้คุณใส่ข้อความรหัสผ่าน (หากมี)
หากคุณป้อนข้อความรหัสผ่านที่ถูกต้องมันจะแสดงรหัสสาธารณะที่เกี่ยวข้อง
หากคุณป้อนข้อความรหัสผ่านผิดรหัสจะแสดงload failed
ขึ้น
หากคีย์ไม่มีข้อความรหัสผ่านมันจะไม่พร้อมท์ให้คุณใส่ข้อความรหัสผ่านและจะแสดงรหัสสาธารณะที่เกี่ยวข้องให้คุณทันที
เช่น,
สร้างคู่คีย์สาธารณะ / ส่วนตัวใหม่โดยมีหรือไม่มีวลีรหัสผ่าน:
$ ssh-keygen -f /tmp/my_key
...
ตอนนี้ดูว่าคุณสามารถเข้าถึงคู่กุญแจ:
$ ssh-keygen -y -f /tmp/my_key
ต่อไปนี้เป็นตัวอย่างเพิ่มเติมที่แสดงผลลัพธ์
สร้างคู่คีย์สาธารณะ / ส่วนตัวใหม่โดยมีหรือไม่มีวลีรหัสผ่าน:
$ ssh-keygen -f /tmp/my_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /tmp/my_key.
Your public key has been saved in /tmp/my_key.pub.
The key fingerprint is:
de:24:1b:64:06:43:ca:76:ba:81:e5:f2:59:3b:81:fe rob@Robs-MacBook-Pro.local
The key's randomart image is:
+--[ RSA 2048]----+
| .+ |
| . . o |
| = . + |
| = + + |
| o = o S . |
| + = + * |
| = o o . |
| . . |
| E |
+-----------------+
พยายามเข้าถึงคู่คีย์โดยป้อนข้อความรหัสผ่านที่ถูกต้อง โปรดทราบว่ารหัสสาธารณะจะปรากฏขึ้นและสถานะทางออก ( $?
) จะ0
แสดงถึงความสำเร็จ:
$ ssh-keygen -y -f /tmp/my_key
Enter passphrase:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBJhVYDYxXOvcQw0iJTPY64anbwSyzI58hht6xCGJ2gzGUJDIsr1NDQsclka6s0J9TNhUEBBzKvh9nTAYibXwwhIqBwJ6UwWIfA3HY13WS161CUpuKv2A/PrfK0wLFBDBlwP6WjwJNfi4NwxA21GUS/Vcm/SuMwaFid9bM2Ap4wZIahx2fxyJhmHugGUFF9qYI4yRJchaVj7TxEmquCXgVf4RVWnOSs9/MTH8YvH+wHP4WmUzsDI+uaF1SpCyQ1DpazzPWAQPgZv9R8ihOrItLXC1W6TPJkt1CLr/YFpz6vapdola8cRw6g/jTYms00Yxf2hn0/o8ORpQ9qBpcAjJN
$ echo $?
0
พยายามเข้าถึงคู่คีย์โดยป้อนข้อความรหัสผ่านไม่ถูกต้อง โปรดทราบว่าข้อความแสดงข้อผิดพลาด "โหลดล้มเหลว" จะปรากฏขึ้น (ข้อความอาจแตกต่างกันไปขึ้นอยู่กับระบบปฏิบัติการ) และสถานะทางออก ( $?
) จะ1
แสดงถึงข้อผิดพลาด:
$ ssh-keygen -y -f /tmp/my_key
Enter passphrase:
load failed
$ echo $?
1
พยายามเข้าถึงคู่คีย์ที่ไม่มีข้อความรหัสผ่าน โปรดทราบว่าไม่มีข้อความแจ้งสำหรับวลีรหัสผ่านคีย์สาธารณะจะปรากฏขึ้นและสถานะทางออก ( $?
) จะ0
แสดงถึงความสำเร็จ:
$ ssh-keygen -y -f /tmp/my_key_with_no_passphrase
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLinxx9T4HE6Brw2CvFacvFrYcOSoQUmwL4Cld4enpg8vEiN8DB2ygrhFtKVo0qMAiGWyqz9gXweXhdmAIsVXqhOJIQvD8FqddA/SMgqM++2M7GxgH68N+0V+ih7EUqf8Hb2PIeubhkQJQGzB3FjYkvRLZqE/oC1Q5nL4B1L1zDQYPSnQKneaRNG/NGIaoVwsy6gcCZeqKHywsXBOHLF4F5nf/JKqfS6ojStvzajf0eyQcUMDVhdxTN/hIfEN/HdYbOxHtwDoerv+9f6h2OUxZny1vRNivZxTa+9Qzcet4tkZWibgLmqRyFeTcWh+nOJn7K3puFB2kKoJ10q31Tq19
$ echo $?
0
ssh-keygen -y
ถามถึงไฟล์คีย์และเสนอค่าเริ่มต้นเมื่อคลิกกลับมาเหมือนที่คาดไว้
ssh-keygen -y
ตรวจสอบข้อความรหัสผ่านของคีย์ ssh ของฉัน มันทำงานได้ดียกเว้นอูบุนตูของฉันช้าอย่างไม่น่าเชื่อ โปรแกรมส่วนใหญ่สามารถเริ่มต้นใช้งานได้ในหนึ่งนาทีขึ้นไปในขณะที่การใช้งาน CPU เป็น 100% หลังจากรีสตาร์ทแล็ปท็อปของฉันฉันสามารถเข้าสู่ระบบแทบจะไม่ใช้เวลาสักครู่เพื่อดูเดสก์ท็อปของฉัน ในที่สุดฉันได้พบปัญหานี้บนถามอูบุนตู ฉันต้องเริ่มต้นด้วยgnome-keyring-daemon
การแก้ไขปัญหา
การขยายโซลูชันของ @ RobBednark ไปยังสถานการณ์ Windows + PuTTY เฉพาะคุณสามารถทำได้ดังนี้
สร้างคู่คีย์ SSH ด้วย PuTTYgen (ทำตามคีย์ SSH ของคุณใน Windows ด้วยตนเอง ) บันทึกลงในไฟล์ PPK
ด้วยเมนูบริบทใน Windows Explorer เลือกแก้ไขด้วย PuTTYgen มันจะถามรหัสผ่าน
หากคุณพิมพ์รหัสผ่านผิดรหัสผ่านจะปรากฏขึ้นอีก
หมายเหตุ: หากคุณต้องการที่จะพิมพ์ให้ใช้คำสั่งต่อไปนี้ในโฟลเดอร์ที่มีไฟล์ PPK puttygen private-key.ppk -y
ไปนี้:
ใช้ "ssh-keygen -p" คุณสามารถเพิ่ม "-f"
มันจะแจ้งให้คุณใส่รหัสผ่านเก่า หากรหัสผ่านถูกต้องระบบจะแจ้งให้ป้อนรหัสผ่านใหม่ หากรหัสผ่านเก่าไม่ถูกต้องคุณจะได้รับ "ไม่สามารถโหลดรหัส <... >"
หากข้อความรหัสผ่านของคุณคือปลดล็อคคีย์ SSH ของคุณและคุณไม่มีssh-agent
แต่ติดตั้ง sshd (SSH daemon) บนเครื่องของคุณให้ทำ:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys;
ssh localhost -i ~/.ssh/id_rsa
~/.ssh/id_rsa.pub
กุญแจสาธารณะอยู่ที่ไหนและ~/.ssh/id_rsa
เป็นกุญแจส่วนตัว
passphrase
ไม่มีรหัสผ่าน;)