ไม่สามารถลบคีย์ออกจาก ssh-agent แม้การรีบูตเครื่องก็ไม่ได้ช่วยอะไร


18

เมื่อไม่นานมานี้ฉันสังเกตเห็นว่ามีสามปุ่มใน ssh-agent ของฉันที่ฉันไม่สามารถลบได้ ssh-add -lแสดงให้เห็นสามปุ่ม; ฉันวิ่งssh-add -Dแล้วก็บอกว่า "ตัวตนทั้งหมดถูกลบ"; แต่ในทันใดนั้นก็ssh-add -lแสดงปุ่มสามดอกเหมือนกัน

หากฉันออกจากระบบแล้วกลับเข้าสู่ระบบกุญแจจะยังคงอยู่ ถ้าฉันรีบูทเครื่องคีย์ก็ยังอยู่ที่นั่น หากฉันลบไดเรกทอรีพวงกุญแจ/tmpฉันจะไม่สามารถเชื่อมต่อได้อีกต่อไปssh-agentแต่เมื่อออกจากระบบและกลับเข้าสู่ระบบกุญแจจะกลับมา พวกเขาคงกระพัน

กุญแจคือของฉันไม่ใช่ของคนอื่นเท่าที่ฉันจะบอกได้ ฉันสามารถเข้าถึงบริการในท้องถิ่นของฉันกับพวกเขาได้ แต่เมื่อฉันเพิ่มหนึ่งในคีย์อีกครั้งด้วยssh-addทำให้เส้นทางไปยังไฟล์กุญแจส่วนตัวคีย์ใหม่มีลักษณะที่แตกต่างกันในผลลัพธ์ของssh-add -l:

2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f /home/jruser/.ssh/jruser-keyname-20110418 (RSA)

กับต้นฉบับ:

2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f jruser 04/18/2011 keyname (RSA)

มีวิธีใดที่จะอธิบายพฤติกรรมนี้อย่างสมเหตุสมผลหรือไม่ ฉันเดาว่ามีสองคำถามจริง ๆ :

  1. ปุ่มต่างๆถูกจัดการให้คงอยู่แม้จะรีบูตได้อย่างไร? ความรู้พื้นฐานของฉันเกี่ยวกับการsshแนะนำให้ใช้คีย์ต้องเพิ่มด้วยตนเองเสมอ

  2. ทำไมฉันถึงssh-agent -Dโกหกเกี่ยวกับการลบตัวตน?


มีข้อผิดพลาดของ Fedora / Red Hat ด้วยเช่นกัน: bugzilla.redhat.com/show_bug.cgi?id=1205546
spoovy

คำตอบ:


11

ดูเหมือนว่ามันอาจจะเป็นข้อผิดพลาด ฉันมีพฤติกรรมที่คล้ายคลึงกันใน Ubuntu 10.10 การค้นหา google พบรายงานข้อผิดพลาดสำหรับ Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472477

หากต้องการลบคีย์พิเศษที่ฉันแสดงฉันเพิ่งย้ายมันออกจากไดเรกทอรี ~ / .ssh


ใช่ มันใช้งานได้สำหรับฉัน ขอบคุณ! ฉันใช้ Debian Wheezy beta 4
Tarrasch

3
ในที่สุดโค้งงอลงและตรวจสอบ ผู้ร้ายคือ gnome-keyring-daemon ซึ่ง a) โหลดคีย์ทั้งหมดใน ~ / .ssh และ b) โดยอัตโนมัติปฏิเสธที่จะปล่อยพวกมัน ทางออกคือการป้องกันไม่ให้ gnome-keyring-manager เริ่มทำงานซึ่งเป็นเรื่องที่ทำได้ยากในที่สุดโดยการเอาสิทธิ์การใช้งานไฟล์โปรแกรมออก
ฌอน

มีวิธีแก้ไขปัญหานี้หรือไม่ที่ไม่เกี่ยวข้องกับ gnome-keyring-manager คือการแก้ไข gnome-keyring-manager ดังนั้นมันจึงลบคีย์ที่มันบอกไป?
ฟิล

1
มันคือปี 2018 และนี่ก็ยังเกี่ยวข้อง ต้องย้ายกุญแจออกจาก ~ / .ssh
Carson Ip

1
ว้าว. ลบคีย์ออกจาก ~ / .ssh และใส่ในไดเรกทอรีอื่นตามที่ระบุไว้ @CarsonIp จากนั้นใช้คำสั่ง ssh-agent ใน bashrc ของคุณเพื่อโหลดคีย์ ssh พิเศษจากไดเรกทอรีอื่นด้วยตนเอง PIMA!
Ligemer

3

กุญแจของคุณจะถูกเก็บไว้เป็นไฟล์ในไดเรกทอรีที่ซ่อนอยู่: /home/jruser/.ssh/ นั่นคือวิธีที่พวกเขายังคงมีอยู่หลังจากรีบูต ฉันเดาว่าคือ ssh-add -D กำลังลบออกจากหน่วยความจำ แต่เมื่อคุณรีบูตพวกเขาจะอ่านจากไดเรกทอรี. ssh และเพื่อให้คุณมีพวกเขาอีกครั้ง


4
แต่ssh-add -Dจะไม่ลบพวกเขาออกจากหน่วยความจำ มันไม่มีผลเลย
ฌอน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.