macOS 10.12 Sierra, ssh keyfile parolamı unutmayacak


25

Yeni bir şifreli id-rsaanahtar dosyası oluşturup ssh-keygenilk kez kullandıktan sonra, parolayı unutmak için macOS alamıyorum. Bu, OS X'in ssh anahtar parola sorusunu hatırlamamasına ancak daha kötüsüne nasıl yapılmasına benzer .

Yeniden başlatmayı, öldürmeyi, ssh-agenttüm anahtarlıklarmı kilitlemeyi denedim ama yine de bir yerlerde depolanmış gibi görünüyor. Ancak, hiçbir anahtarlıkta bulamıyorum. Bu çok güvensiz görünüyor. SSH private key şifresinin cevapları , Keychain / ssh-agent ile asla çıkarılmadı .

Aslında, parolayı saklamak isteyip istemediğinizi soran bir iletişim kutusu artık var görünmüyor.


Gerçekten şifreli olup olmadığını kontrol ettin mi?
John Keates,

Evet. Ssh'nin ilk kullandığımda parolayı istediği gibi olduğundan eminim. Birisi bunu gerçekten çoğaltabilir mi?
hogliux

Benim kurulumumda da bu şekilde çalışıyor, ssh / ssh-agent'ın yapılandırılmış hali.
John Keates,

MacOS'a parolayı anahtarlıkta saklamasını bildirmek için onay kutusunu tıklatırsanız geçerlidir. Ancak, bu onay kutusunu tıklatmazsanız, macOS her zaman parola sormalıdır. Ancak tıklatsanız bile, anahtarlık yardımcı programında her zaman tekrar kaldırabilirsiniz. Sierra bu yana iletişim kutusu artık görünmüyor ve anahtarlık yardımcı programında giriş yok.
hogliux

Bahsettiğim diyalog kutusu artık var görünmüyor: dribin.org/dave/resources/pictures/ssh_leopard_dialog.png
hogliux

Yanıtlar:


27

Anahtar şifrede parola saklamayı devre dışı bırakmak için ~ / .ssh / config dosyasına aşağıdaki satırları eklemelisiniz :

Host *
UseKeyChain no

Zaten anahtarlıkta saklanmış bir parolanız varsa komutları kullanarak silebilirsiniz:

cd ~/Library/Keychains/<UUID>/
sqlite3 keychain-2.db 'delete from genp where agrp="com.apple.ssh.passphrases"'

OS X El Capitan veya daha önceki gibi bir davranışa sahip olmak istiyorsanız (örneğin, oturumu kapatana veya yeniden başlatılana kadar parola depolanır), yalnızca ~ / .ssh / config dosyasına ekleyin:

AddKeysToAgent yes

Ssh-agent'ı başlatmanıza gerek yok.


1
Bu cevap kalıcı olarak sorunu çözdü! Bu yüzden bunu doğru cevap olarak işaretledim. Teşekkür ederim!
hogliux

önerilen düzenleme: değişim Library/Keychains/<UUID>/için ~/Library/Keychains/<UUID>/:) netlik için
Mohamed Hafez

önerilen düzenleme kabul edildi :)
mbamac

20

Clive sayesinde bu yeni 'özellik' hakkında daha iyi bir anlayışa sahibim. Parolanızı yazdığınızda Sierra, anahtarlığınıza ekler, ancak ssh-ajanı değil. Kimliğiniz ssh-agent'ta değilse, onu yönetmenin yolu yoktur ssh-add. Eğer kimliğinizi eklemeniz gerekir (yani. Remove) Anahtarlık adresinin kimlik yönetmek için ssh-agentkullanarak ssh-add. Kimliğinizi ekledikten sonra , hem anahtarlıktan hem de Anahtarlıktan kaldırmak için ssh-agentkullanabilirsiniz . Kimliğinizin her ssh kullandığınızda ssh-agent'a eklenmesini istiyorsanız şunu ekleyin:ssh-add -K -dssh-agent

AddKeysToAgent yes

senin için .ssh/config. Bu ssh-agenther zaman kimliğinizin olmasını sağlayacaktır .


Sadece bir takip. .Ssh / config'inize 'UseKeyChain no' eklerseniz, Keychain'in parolanızı eklemesini engeller. Ssh-agent'ta 'AddKeysToAgent yes' ifadesini saklamak istediğinizde, yeniden başlatma veya ssh-add -d kullanana kadar parolanız korunur.
Gene Frenkler

Bunun Apple tarafından gönderilen OpenSSH kullanımını gerektirdiğini unutmayın. Bu düzeltme eki ev demiryoluna dahil değildirhomebrew/dupes/openssh: stable 7.3p1
Ryan Gibbons

3
ssh-add -K -d

Bu, daha önce anahtarlıkta depolanan parolaları kaldırabilir. MacOS 10.12 Sierra'dan beri, tekrar anahtarlıkta saklanan parolayı önlemek için ssh-addilk yaptığınızdan emin olun .


Evet. Bu, önceki macOS Sierra sürümlerinde çalışıyordu. Ama artık çalışmıyor. macOS Sierra hala parolayı hatırlıyor.
hogliux

1
TAMAM. Daha fazla soruşturma. Bir kez unutur, ancak herhangi bir yerde kullandıktan sonra tekrar anahtarlığa geri döner (ssh, scp, git vb.). Bir tür yabancı, bana doğrudan e-posta attı ve parolanın ~ / Library / Keychains / <SOME-UUID> /keychain-2.db konumunda saklandığı göründü. Ancak giriş anahtarlığımı (ve diğer tüm anahtarlıklarmı) kilitlerken bile, os x, parolaya erişirken anahtarlık şifremi sormayacak. Bu gerçekten doğru görünmüyor.
hogliux

Gerçekten de, Sierra’da parola her zamanki Login anahtarlık yerine bu anahtarlık konumuna kaydediliyor gibi görünüyor.
m1keil
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.