Próbuję skonfigurować uwierzytelnianie ssh za pomocą plików kluczy zamiast nazwy użytkownika / hasła. Klientem jest Windows z systemem PuTTY, a serwerem jest serwer Ubuntu 12.04 LTS.
Pobrałem puttygen.exe i wygenerowałem parę kluczy. W /etc/ssh/sshd_config
mam ten wiersz:
AuthorizedKeysFile %h/.ssh/authorized_keys
a na pliku klucza publicznego mojego klienta jest napisane:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "my@email.address.com"
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAr3Qo6T5XU06ZigGOd3eKvfBhFLhg5kWv8lz6
qJ2G9XCbexlPQGanPhh+vcPkhor6+7OmB+WSdHeNO652kTofnauTKcTCbHjsT7cJ
GNrO8WVURRh4fabknUHPmauerWQZ6TgRPGaz0aucU+2C+DUo2SKVFDir1vb+4u83
AV1pKxs=my@email.address.com
---- END SSH2 PUBLIC KEY ----
Skopiowałem część z „ssh-rsa AAA” do „my@email.address.com” i umieściłem ją w pliku ~/.ssh/authorized_keys
na moim serwerze (we własnym folderze domowym). W PuTTY w obszarze Połączenie> SSH> Auth podałem ścieżkę do klucza prywatnego wygenerowanego na moim kliencie i zapisałem ustawienia sesji.
Zrestartowałem serwer ssh za pomocą
sudo service ssh restart
Teraz, jeśli załaduję profil w PuTTY (sprawdziłem, że klucz prywatny jest nadal w Połączeniu> SSH> Auth i czy ścieżka jest poprawna) i uruchomię profil, wyświetli się komunikat
Server refused our key
Próbowałem umieścić klucz publiczny w pliku w katalogu, ./ssh/authorized_keys/
ale to nie pomogło, więc użyłem go ./ssh/authorized_keys
jako pliku , wklejając w nim klucz. Próbowałem także wygenerować parę kluczy prywatny / publiczny na serwerze, wkładając klucz publiczny ./ssh/authorized_files
i ładując klucz prywatny w PuTTY na moim kliencie. Ponowne uruchomienie serwera też nie pomogło.
Odkryłem, że błąd można rozwiązać, umieszczając klucz w miejscu poza folderem domowym użytkownika, ale jest to przydatne tylko wtedy, gdy folder domowy jest zaszyfrowany, a ten nie jest.
Próbowałem także wygenerować 4096-bitowy klucz, myśląc, że 1024 może być za krótkie.
Jak mogę to uruchomić? Dzięki!
EDYTOWAĆ:
Ok, /var/log/auth.log
powiedział:
sshd: Authentication refused: bad ownership or modes for directory /home/vorkbaard/.ssh
Google mówi mi, że ~/.ssh/
powinno to być 700, a ~/.ssh/authorized_keys
powinno być 600, więc to zrobiłem. Teraz /var/log/auth.log
mówi:
sshd: error: key_read: uudecode AAAAB3N [etc etc etc until about 3/4 of my public key]
sshd: error: key_read: uudecode AAAAB3N
błędemauth.log
?