คีย์ส่วนตัวของไคลเอ็นต์ ssh ถูกเก็บไว้ที่ไหน?


12

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

คำตอบ:


18

ssh-addไม่เก็บอะไรไว้ในเครื่องหรือบนดิสก์จากระยะไกล คำสั่งนี้โหลดคีย์ส่วนตัวของคุณถามรหัสผ่านหนึ่งครั้งลงในตัวแทน SSH ที่เริ่มขึ้นก่อนหน้านี้

ตัวแทน SSH ถือกุญแจส่วนตัวในหน่วยความจำเท่านั้น เมื่อคุณเรียกใช้ไคลเอ็นต์ SSH จะใช้ไพรเวตคีย์จากตัวแทน SSH โดยไม่ต้องขอรหัสผ่านไพรเวตคีย์อีกครั้งเพื่อตรวจสอบสิทธิ์กับเซิร์ฟเวอร์เป้าหมาย

.sshDirectory จะมี (ในไดเรกทอรีบ้านของผู้ใช้):

  • authorized_keys : รายการกุญแจสาธารณะที่อนุญาตให้ใช้เพื่อเชื่อมต่อกับเซิร์ฟเวอร์นี้
  • config : ไฟล์เสริมที่มีพารามิเตอร์การกำหนดค่าสำหรับไคลเอ็นต์ SSH
  • กุญแจสาธารณะและกุญแจส่วนตัวที่คุณสร้างขึ้นบนโฮสต์นี้สำหรับผู้ใช้รายนี้
  • known_hosts : เก็บรักษารายการโฮสต์ที่คุณเชื่อมต่อกับแฮชเพื่อตรวจสอบว่าคีย์โฮสต์เปลี่ยนไปตั้งแต่ครั้งสุดท้ายหรือไม่

2

ssh-addไม่ควรเปลี่ยนแปลงอะไร~/.sshเลย มันบอกssh-agentโปรแกรมที่จะเพิ่มตัวตนและssh-agentโปรแกรมเก็บไว้ในหน่วยความจำหลังจากขอรหัสผ่าน ดังนั้นจึงไม่มีไดเรกทอรีดังกล่าว


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