ฉันกำลังทำวิจัยเกี่ยวกับหัวข้อนี้และฉันสามารถให้คำแนะนำแก่คุณ แต่ฉันยังไม่พบวิธีที่จะทำให้การทำงาน
Monkeysphere
Monkeysphereดูเหมือนจะเป็นโครงการที่น่าสนใจมาก แต่ฉันไม่สามารถคอมไพล์มันใน Mac OS X ได้โดยไม่อุดตันพื้นที่ว่างในดิสก์ของฉันกับ MacPorts
ใช้ gpgkey2ssh
วิธีแรกที่ฉันแนะนำให้คุณลองทำคือสร้างรายการ authorized_keys ที่เข้ากันได้จากรหัสคีย์ของคุณ (เช่น BFB2E5E3) ด้วย:
gpgkey2ssh BFB2E5E3 | tee -a ~/.ssh/authorized_keys
นี่ฉันเพิ่มไปยัง localhost ของฉันตั้งแต่ฉันวิ่งเซิร์ฟเวอร์ SSH สำหรับวัตถุประสงค์ในการทดสอบ ~/.ssh/authorized_keys
แต่แน่นอนคุณควรเพิ่มนี้ไปยังพื้นที่เป้าหมาย ต่อไปคุณจะต้องบอก SSH ให้ใช้ส่วนส่วนตัวของคีย์นี้ในระหว่างการตรวจสอบสิทธิ์ แต่เพียงส่งออกคีย์แพร์รุ่น ASCII ที่หุ้มเกราะไม่ทำงาน:
gpg --armor --export-secret-key BFB2E5E3! |tee ~/.ssh/id_rsa
gpg --armor --export BFB2E5E3! | tee ~/.ssh/id_rsa.pub
chmod 400 ~/.ssh/id_rsa
ssh localhost
ใช้ gpg-agent
gpg-agent
มีตัวเลือกที่ช่วยให้สามารถใช้มันเป็นแบบเลื่อนแทนที่รู้จักกันดี--enable-ssh-support
ssh-agent
ฉันได้อ่านบางคนที่พยายามเพิ่มผ่านทางssh-add
คีย์ GPG ของพวกเขาหลังจากเปิดตัวgpg-agent
ด้วยวิธีนี้:
gpg-agent --enable-ssh-support --daemon
gpg --armor --export-secret-key BFB2E5E3! | tee ~/.gnupg/exported-keys/BFB2E5E3_sec.asc
ssh-add ~/.gnupg/exported-keys/BFB2E5E3_sec.asc
แต่ฉันไม่คิดว่าสิ่งนี้จะได้ผล manpage gpg ตัวแทนพูดว่า:
คีย์ SSH ซึ่งจะใช้งานผ่านเอเจนต์จำเป็นต้องเพิ่มในเอเจนต์ gpg เริ่มแรกผ่านยูทิลิตี้ ssh-add เมื่อคีย์ถูกเพิ่ม ssh-add จะถามรหัสผ่านของไฟล์คีย์ที่ให้ไว้และส่งวัสดุสำคัญที่ไม่มีการป้องกันไปยังเอเจนต์ สิ่งนี้ทำให้ gpg-agent ขอรหัสผ่านซึ่งจะใช้สำหรับการเข้ารหัสคีย์ที่ได้รับใหม่และเก็บไว้ในไดเรกทอรีเฉพาะของ gpg-agent
ดังนั้นจึงgpg-agent
ควรใช้มาตรการเพิ่มเติมเพื่อปกป้องคีย์ SSH ของคุณด้วยการเข้ารหัส GPG
การแปลงคีย์ GPG เป็น OpenSSH
Jérôme Pouiller ในบล็อกของเขาเขียนว่ายูทิลิตี้ Gpgsm สามารถส่งออกคีย์และใบรับรองใน PCSC12; พวกเขาสามารถใช้งานได้โดย OpenSSH:
gpgsm -o secret-gpg-key.p12 --export-secret-key-p12 0xXXXXXXXX
openssl pkcs12 -in secret-gpg-key.p12 -nocerts -out gpg-key.pem
chmod 600 gpg-key.pem
cp gpg-key.pem ~/.ssh/id_rsa
ssh-keygen -y -f gpg-key.pem > ~/.ssh/id_rsa.pub
แต่ฉันไม่พบวิธีที่จะgpgsm
ยอมรับคู่กุญแจ gpg ของฉัน
สิ่งอื่น ๆ ที่คุณสามารถลองได้
SSH มี-I
ตัวเลือกเพื่อระบุไลบรารีที่แบ่งใช้ PKCS # 11 ที่ssh
ควรใช้เพื่อสื่อสารกับโทเค็น PKCS # 11 ที่จัดเตรียมคีย์ RSA ส่วนตัวของผู้ใช้
ssh-keygen
สามารถใช้คีย์สาธารณะหรือไพรเวต RFC4716 / SSH2, กุญแจสาธารณะ PEM PKCS8 และกุญแจสาธารณะ PEM เพื่อสร้างคีย์ส่วนตัว (หรือพับลิก) ที่รองรับ OpenSSH โดยใช้ตัวเลือก-i
และ-m
ตัวเลือก
ถึงกระนั้นฉันก็ไม่สามารถหาวิธีที่จะรวบรวมมันเข้าด้วยกัน
flag
ลิงก์ใต้คำถาม) แทนที่จะโพสต์คำตอบเดียวกันสองครั้ง ขอบคุณสำหรับการตอบสนองอย่างละเอียดว่า!