SSH z PuTTy do Debiana „klucze autoryzowane nie są zwykłym plikiem” Błąd

9

Nie mogę się połączyć z mojego komputera z systemem Windows 7 za pomocą PuTTy do nowo skonfigurowanego serwera Debian Squeeze przy użyciu uwierzytelniania SSH RSA.

Pojawia się ten błąd podczas uruchamiania SSH w trybie debugowania: User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file


Co zrobiłem do tej pory:

  1. ssh-keygen -t rsa
  2. Ustaw hasło.
  3. Skopiowano plik id_rsa.pub do ~/.ssh/authorized_keys
  4. Skopiowałem id_rsa do pliku tekstowego na moim komputerze z systemem Windows 7
  5. Zaimportowano klucz puttygen.exei przekonwertowano go na .ppkplik klucza prywatnego.
  6. Załadowałem ten plik klucza prywatnego pageant.exei upewniłem się, że metody Connection-> SSH-> Auth Authentication mają zaznaczoną opcję „Próba uwierzytelnienia przy użyciu Pageant”.
  7. Załadowałem profil.

Na podstawie często zadawanych pytań z OpenSSH.org zmieniłem uprawnienia na następujące:

drwxr-xr-x 3 root   root   4096 Aug 13 14:16 /home
drwxr-xr-x 7 myuser myuser 4096 Aug 17 12:55 /home/myuser
drwx------ 3 myuser myuser 4096 Aug 17 13:24 /home/myuser/.ssh
drw------- 2 myuser myuser 4.0K Aug 17 13:23 /home/myuser/.ssh/authorized_keys
-rw------- 1 myuser myuser  396 Aug 17 13:17 /home/myuser/.ssh/authorized_keys/id_rsa.pub

Uruchomiłem tryb debugowania na ssh i otrzymałem następujące:

debug1: userauth-request for user myuser service ssh-connection method publickey
debug1: attempt 1 failures 0
debug1: test whether pkalg/pkblob are acceptable
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/myuser/.ssh/authorized_keys
User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file
debug1: restore_uid: 0/0
Failed publickey for myuser from 10.1.1.1 port 50710 ssh2

Nie wiem, co jeszcze sprawdzić. Nie skonfigurowałem SELinuksa ani nic takiego. Jakiekolwiek pomysły będą mile widziane.

wtorek
źródło

Odpowiedzi:

15

Problemem jest:

User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file

Wygląda na to, że utworzyłeś katalog o nazwie authorized_keysi umieściłeś w nim wszystkie swoje kluczowe pliki. To dlatego nie działa. authorized_keysma być zwykłym plikiem, w którym można umieścić wszystkie klucze ~/.ssh.

Michael Hampton
źródło
7

Głównym problemem jest to, że ~/.ssh/authorized_keysnie powinien to być katalog. Jest to plik tekstowy zawierający klucze publiczne dołączane jeden wiersz po drugim.

Ponieważ masz tylko jeden klucz, po prostu przenieś ~/.ssh/authorized_keys/id_rsa.pubplik do tymczasowej lokalizacji, usuń ~/.ssh/authorized_keyskatalog, a następnie cofnij plik klucza publicznego, zmieniając jego nazwę na ~/.ssh/authorized_keys. Powinieneś być teraz w stanie połączyć się bez użycia hasła logowania.

Philippe Gauthier
źródło