Bu konu hakkında biraz araştırma yapıyorum ve size bazı ipuçları verebilirim, ancak henüz çalışmasını sağlayacak bir yol bulamadım.
Monkeysphere
Monkeysphere çok ilginç bir proje gibi görünüyor, ancak MacPorts ile küçük boş disk alanımı tıkamadan Mac OS X altında derleyemedim.
Gpgkey2ssh kullanma
Denemenizi tavsiye etmenin ilk yolu, anahtar kimliğinizden (örn., BFB2E5E3) uyumlu bir yetkili_anahtarlar girişi oluşturmaktır:
gpgkey2ssh BFB2E5E3 | tee -a ~/.ssh/authorized_keys
Test amacıyla bir ssh sunucusu çalıştırdığım için burada localhost'a ekledim, ancak elbette bunu hedef ana bilgisayara eklemelisiniz ~/.ssh/authorized_keys
. Daha sonra SSH'ye kimlik doğrulama sırasında bu anahtarın özel bölümünü kullanmasını söylemeniz gerekir, ancak sadece anahtar çiftinin ASCII zırhlı sürümünü dışa aktarmak işe yaramaz:
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 kullanma
gpg-agent
--enable-ssh-support
iyi bilinenler için bir yedek yedek olarak kullanmasına izin veren seçeneğe sahiptir ssh-agent
. Bu şekilde ssh-add
başlattıktan sonra GPG anahtarıyla eklemeye çalışan bazı insanları okudum 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
Ama bunun işe yarayacağını sanmıyorum. Gpg-agent manpage diyor ki:
Aracı aracılığıyla kullanılacak SSH Anahtarlarının, ilk olarak ssh-add yardımcı programı aracılığıyla gpg-agent'a eklenmesi gerekir. Bir anahtar eklendiğinde, ssh-add sağlanan anahtar dosyasının parolasını soracak ve korumasız anahtar malzemeyi aracıya gönderecektir; bu, gpg-agent'ın yeni alınan anahtarı şifrelemek ve gpg-agent'a özgü bir dizinde saklamak için kullanılacak bir parola istemesine neden olur.
Bu yüzden gpg-agent
, bir GPG şifrelemesi ile SSH anahtarlarınızı korumak için ek bir önlem olarak kullanılması gerektiği anlaşılıyor .
GPG anahtarını OpenSSH'ye dönüştürme
Onun içinde Jérôme Pouiller blogunda Gpgsm yarar PCSC12 anahtarları ve sertifikaları verebilirsiniz yazıyor; daha sonra OpenSSH tarafından kullanılabilir:
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
Ama gpgsm
gpg anahtar çiftlerimi kabul etmenin bir yolunu bulamadım .
Deneyebileceğiniz diğer şeyler
SSH, -I
PKCS # 11 paylaşılan kütüphanesinin ssh
kullanıcının özel RSA anahtarını sağlayan bir PKCS # 11 jetonu ile iletişim kurmak için kullanması gerektiğini belirtme seçeneğine sahiptir .
ve seçeneklerini ssh-keygen
kullanarak OpenSSH uyumlu özel (veya genel) anahtar oluşturmak için RFC4716 / SSH2 ortak veya özel anahtarını, PEM PKCS8 ortak anahtarlarını ve PEM ortak anahtarlarını kullanabilir .-i
-m
Yine de hepsini bir araya getirmenin bir yolunu bulamıyorum.
flag
, aynı cevabı iki kez göndermek yerine bunları kopya olarak ( sorunun altındaki bağlantıyı kullanarak) işaretleyebilirsiniz . Yine de ayrıntılı yanıt için teşekkürler!