SSH nie używa kluczy publicznych / prywatnych

0

Mam system, w którym SSH-ing wciąż prosi o hasło, mimo że:

  1. Mój klucz publiczny znajduje się poprawnie w authorized_keyspliku na zdalnym serwerze.
  2. Mój klucz prywatny jest przechowywany jak id_rsaw moim .sshkatalogu.
  3. Uprawnienia na lokalnym kliencie i zdalnym serwerze są poprawne. Obejmuje to katalogi domowe, .sshkatalogi, authorized_keysplik i same pliki kluczy.
  4. SELinux jest wyłączony zarówno na kliencie, jak i na serwerze.

Ponadto /var/log/securena serwerze zgłasza następujący błąd przy każdej próbie logowania:

sshd[17110]: error: Could not get shadow information for <USER>

gdzie zastąpiłem rzeczywistą nazwę użytkownika ciągiem <USER>.

Co może być tego przyczyną i / lub jak mogę uruchomić klucze SSH?

Stanley Yu
źródło

Odpowiedzi:

3

Problem polegał na tym, że klucze publiczne / prywatne nie pasowały do systemu klienta . Naprawiłem to, uruchamiając:

$ cd ~/.ssh
$ ssh-keygen -y -f id_rsa > id_rsa.pub

Spowoduje to wygenerowanie klucza publicznego odpowiadającego istniejącemu kluczowi prywatnemu i zapisanie go w id_rsa.pubpliku, tym samym ponownie dopasowując klucze publiczne / prywatne.

Nie mogłem znaleźć odpowiedzi na mój problem w kilku znalezionych odpowiedziach Stack Exchange, więc postanowiłem zadać / odpowiedzieć na własne pytanie tutaj. Jak to się stało? Stało się tak, że miałem klucze SSH działające w przeszłości, ale w pewnym momencie przypadkowo uruchomiłem je ssh-keygenponownie. Stworzyło to nową parę kluczy publicznych / prywatnych. Zrozumiałem to i próbowałem to naprawić, odkładając moje stare klucze prywatne. Ponieważ serwer nadal zawierał stary klucz publiczny w authorized_keyspliku, nic nie musiało być tam zmieniane. Niestety nie zmieniłem klucza publicznego po stronie klienta, co doprowadziło do obecnej sytuacji.

Stanley Yu
źródło
Wszystko to byłoby niemożliwe do odgadnięcia, biorąc pod uwagę informacje zawarte w pytaniu ... co ponownie pokazuje, że tak naprawdę tylko ten przed komputerem może poprawnie debugować. BTW, możesz użyć, -vaby wprowadzić oba sshi sshdw tryb gadatliwy, co naprawdę pomaga w zawężeniu przyczyny.
reż