Próbuję odtworzyć klucze hosta ssh-server.
Mam na to co najmniej dwa sposoby:
Z dpkg-rekonfiguruj
dpkg-reconfigure openssh-server
To działa dobrze, ale nie mogę podać długości klucza. Chcę na przykład 4096 dla klucza RSA.
Ręcznie za pomocą ssh-keygen
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N 'myverylongpasswordhere' -b 4096 -t rsa
To odtwarza mi klucze, ale po ponownym uruchomieniu serwera pojawia się następujący komunikat o błędzie :
could not load host key: /etc/ssh/ssh_host_rsa_key
więc sprawdziłem, co tam jest plik sshd_config:
HostKey /etc/ssh/ssh_host_rsa_key
pasuje idealnie. Sprawdziłem więc właściciela i prawa do wszystkich moich kluczy
-rw------- 1 root root 3326 Mär 24 08:57 ssh_host_rsa_key
Kiedy usuwam wszystkie klucze i odtwarzam je ponownie
dpkg-reconfigure openssh-server
, klucze są mniejsze i mają takie same prawa do plików jak wyżej.
Pytanie: Jak korzystać dpkg-reconfigure
z keylengh 4096 dla RSA?
sshd
w trybie debugowania z wiersza poleceń (sudo sshd -d
), aby uzyskać więcej informacji na temat tej kwestii i zakładać wyjście.livewire@za20:/etc/ssh$ sudo sshd -d
wyjściesshd re-exec requires execution with an absolute path
Inaczej bym zawarte przykład w mojej odpowiedzi :(sudo /usr/sbin/sshd -d
. Błąd, który dostałeś, jest dosłownie (choć nie całkiem jasny).dpkg-reconfigure
z keylength 4096? Czy jest gdzieś plik konfiguracji zawierający te informacje? Rozejrzałem się po bazach danych debconf (wewnątrz/var/cache/debconf/
), ale nie znalazłem niczego, co wyglądałoby jak długość klucza.Odpowiedzi:
Tworzysz klucz hosta za pomocą hasła. Czy jest jakieś dostosowanie do odblokowania tego klucza hosta? Jeśli nie, to myślę, że tego należy się spodziewać: skrypt zarządzający usługą uruchamia się, próbuje załadować klucz hosta i kończy się niepowodzeniem. O ile wiem, nie powinieneś tworzyć kluczy hostów chronionych hasłem.
Jeśli chcesz wzmocnić serwer SSH, zalecamy przeczytanie https://stribika.github.io/2015/01/04/secure-secure-shell.html polecenia użytego do utworzenia klucza hosta w tym dokumencie:
Ale powinieneś przeczytać cały dokument przed wprowadzeniem jakichkolwiek zmian.
źródło
Żadna z powyższych odpowiedzi nie działała dla mnie. Naprawiłem mój system Ubuntu, wykonując następujące czynności:
źródło
Po prostu uruchom:
ssh-keygen
generuje klucz SSH.-t
określa typ klucza do utworzenia-b
określa liczbę bitów w kluczu.Zobacz tę stronę, aby uzyskać więcej informacji.
źródło