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?
livewire@za20:/etc/ssh$ sudo sshd -d
wyjście sshd 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.
sshd
w trybie debugowania z wiersza poleceń (sudo sshd -d
), aby uzyskać więcej informacji na temat tej kwestii i zakładać wyjście.