SSH parolamı nasıl doğrulayabilir / kontrol edebilir / test edebilir / doğrulayabilirim?


297

Sanırım SSH anahtarımın parolasını unuttum, ama ne olabileceğine dair bir önsezim var. Haklı olup olmadığımı nasıl kontrol ederim?


5
Bu bir passphrase, şifre yok;)
Timo

Yanıtlar:


123

SSH aracı parolanızı SSH aracısına yüklemeye çalışarak doğrulayabilirsiniz. İle OpenSSH bu aracılığıyla yapılır ssh-add.

İşiniz bittiğinde, SSH parolanızı çalıştırarak terminalden çıkarmayı unutmayın ssh-add -d.


13
Kontrol ssh-add -d
etmeyi tamamladıktan

1
ssh-add makinede yönetici hakları gerektirir diye düşünüyorum. Bir hata alıyorum: "Kimlik doğrulama aracınızla bağlantı açılamadı."
IgorGanapolsky

@IgorGanapolsky: Hayır, çalışan bir kimlik doğrulama aracısı gerektirir. Başlangıç ​​komut dosyalarınızı veya seçeneklerinizi bir tane getirmek için değiştirin.
Ignacio Vazquez-Abrams

20
Rob'un cevabı doğru cevaptır.
mgarciaisaia

Eğer siz SELinux'u kullanacağınız başına, ayrıca ev dizini ve .ssh dosyaların içeriğini kontrol etmek isteyebilirsiniz! Bu basit düzeltmeyi kullanabilmek için yeterince şanslıydım: # restorecon -R -v /home/userSorunun bu olup olmadığını kontrol etmek için (önceki komut herhangi bir soruna neden olmamasına rağmen), $ ls -lZR <home_dir>bağlamı incelemek için kullanabilirsiniz . Giriş user_home_tdizininde ssh_home_t, .sshdizin ve authorized_keysdosyada görmüyorsanız restoreconbunları düzeltmek için kullanın .
fbicknel

523

ssh-keygen -y

ssh-keygen -y (varsa) sizden parola ister.

    Eğer giriş Eğer doğru parolayı, bu size bağlı genel anahtarı gösterecektir. Yanlış parola
    girerseniz , görüntülenir .     Anahtarda parola yoksa , sizden parola istemez ve hemen ilişkili ortak anahtarı gösterir.load failed

Örneğin,

Parolalı veya parola olmadan yeni bir genel / özel anahtar çifti oluşturun:

$ ssh-keygen -f /tmp/my_key
...

Şimdi anahtar çiftine erişip erişemeyeceğinize bakın:

$ ssh-keygen -y -f /tmp/my_key


Aşağıda çıktıyı gösteren genişletilmiş bir örnek verilmiştir.

Parolalı veya parola olmadan yeni bir genel / özel anahtar çifti oluşturun:

$ ssh-keygen -f /tmp/my_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /tmp/my_key.
Your public key has been saved in /tmp/my_key.pub.
The key fingerprint is:
de:24:1b:64:06:43:ca:76:ba:81:e5:f2:59:3b:81:fe rob@Robs-MacBook-Pro.local
The key's randomart image is:
+--[ RSA 2048]----+
|     .+          |
|   . . o         |
|    = . +        |
|   = + +         |
|  o = o S .      |
|   + = + *       |
|    = o o .      |
|     . .         |
|      E          |
+-----------------+

Doğru parolayı girerek anahtar çiftine erişmeyi deneyin. Genel anahtarın gösterileceğini ve çıkış durumunun ( $?) 0başarıyı belirteceğini unutmayın:

$ ssh-keygen -y -f /tmp/my_key
Enter passphrase:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBJhVYDYxXOvcQw0iJTPY64anbwSyzI58hht6xCGJ2gzGUJDIsr1NDQsclka6s0J9TNhUEBBzKvh9nTAYibXwwhIqBwJ6UwWIfA3HY13WS161CUpuKv2A/PrfK0wLFBDBlwP6WjwJNfi4NwxA21GUS/Vcm/SuMwaFid9bM2Ap4wZIahx2fxyJhmHugGUFF9qYI4yRJchaVj7TxEmquCXgVf4RVWnOSs9/MTH8YvH+wHP4WmUzsDI+uaF1SpCyQ1DpazzPWAQPgZv9R8ihOrItLXC1W6TPJkt1CLr/YFpz6vapdola8cRw6g/jTYms00Yxf2hn0/o8ORpQ9qBpcAjJN
$ echo $?
0

Yanlış bir parola girerek anahtar çiftine erişmeyi deneyin. "Yükleme başarısız" hata mesajının görüntüleneceğini (mesaj işletim sistemine bağlı olarak değişebilir) ve çıkış durumunun ( $?) 1bir hata olduğunu göstereceğini unutmayın:

$ ssh-keygen -y -f /tmp/my_key
Enter passphrase:
load failed
$ echo $?
1

Parolası olmayan bir anahtar çiftine erişmeyi deneyin. Parola istemi olmadığını, ortak anahtarın görüntüleneceğini ve çıkış durumunun ( $?) 0başarıyı belirteceğini unutmayın:

$ ssh-keygen -y -f /tmp/my_key_with_no_passphrase
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLinxx9T4HE6Brw2CvFacvFrYcOSoQUmwL4Cld4enpg8vEiN8DB2ygrhFtKVo0qMAiGWyqz9gXweXhdmAIsVXqhOJIQvD8FqddA/SMgqM++2M7GxgH68N+0V+ih7EUqf8Hb2PIeubhkQJQGzB3FjYkvRLZqE/oC1Q5nL4B1L1zDQYPSnQKneaRNG/NGIaoVwsy6gcCZeqKHywsXBOHLF4F5nf/JKqfS6ojStvzajf0eyQcUMDVhdxTN/hIfEN/HdYbOxHtwDoerv+9f6h2OUxZny1vRNivZxTa+9Qzcet4tkZWibgLmqRyFeTcWh+nOJn7K3puFB2kKoJ10q31Tq19
$ echo $?
0

2
Şifre yoksa, sadece ilgili ortak anahtarı yazdırır.
Kyrremann

1
Teşekkürler @Kyrremann! Şimdi cevabı yansıtacak şekilde güncelledim.
Rob Bednark

ssh-keygen -yanahtar dosyayı sorar ve tıklama dönüşü beklendiği gibi bir varsayılan sunar.
Timo

Ben kullandım ssh-keygen -ybenim ssh anahtarı parola kontrol etmek. Benim Ubuntu inanılmaz yavaş hale dışında iyi çalıştı. CPU kullanımı% 100 iken programların çoğu bir dakika veya daha fazla süre içinde başlayabilir. Dizüstü bilgisayarımı yeniden başlattıktan sonra, masaüstümü görmek birkaç dakika sürdüğü için neredeyse giriş yapamadım. Sonunda Ask Ubuntu üzerinde bu sorunu buldum . gnome-keyring-daemonSorunu çözmek için işe başladım .
Adam Fónagy

2

@ RobBednark'ın çözümünü belirli bir Windows + PuTTY senaryosuna genişleterek şunları yapabilirsiniz:

  1. PuTTYgen ile SSH anahtar çifti oluşturun ( SSH anahtarınızı Windows'ta manuel olarak ürettikten sonra ), bir PPK dosyasına kaydedin ;

  2. Windows Gezgini'ndeki içerik menüsü ile PuTTYgen ile Düzenle'yi seçin. Parola ister.

Yanlış şifre yazarsanız, tekrar girmeniz istenir.

Yazdığınız isterseniz Not, PPK dosyası içeren bir klasörü aşağıdaki komutu kullanın: puttygen private-key.ppk -y.


0

"Ssh-keygen -p" kullanın. "-F" ekleyebilirsiniz

Eski şifreyi girmenizi isteyecektir. Şifre doğruysa, yeni bir şifre girmeniz istenir. Eski şifre yanlışsa, "<...> anahtarı yüklenemedi" mesajını alacaksınız.


-1

Parolanız SSH anahtarınızın kilidini ssh-agentaçmaksa ve makinenizde sshd (SSH arka plan programı) yüklü ise, şunları yapın:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys;
ssh localhost -i ~/.ssh/id_rsa

~/.ssh/id_rsa.pubGenel anahtar nerede ve ~/.ssh/id_rsaözel anahtar.


1
Bunu yapan bir
şifre

Benim için, ssh localhost özel id_rsa kilidini açmak için
Alexx Roche

Bir hata alıyorum: "ssh: sunucuya bağlan localhost port 22: Kötü dosya numarası"
IgorGanapolsky
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.