Stworzyłem klucz do połączenia w SSH za pomocą hasła. Nazwałem mój klucz id_rsa_admin. Po zalogowaniu wyświetla się następujący komunikatPermission denied (publickey).
W dziennikach stwierdzam, że ssh szuka pliku id_rsai dlatego nie znajduje odpowiedniego pliku.
Uważam, że jeśli klucz nie jest nazwany id_rsa, nie działa.
Odpowiedź Arronical jest dobra na jednorazowe połączenie, ale na dłuższą metę byłaby bolesna. Aby sshzawsze używać tego klucza podczas łączenia się z tym serwerem, możesz dodać go do swojego ~/.ssh/config(lub utworzyć go, jeśli nie istnieje):
Następnie możesz połączyć się z just ssh [email protected] -p 9215. Jako dodatkowy bonus możesz również skonfigurować port:
Host vps718449.ovh.net
IdentityFile ~/.ssh/id_rsa_admin
Port 9215
Następnie możesz połączyć się z just ssh [email protected]. Nawet dalej:
Host vps718449.ovh.net vps
Hostname vps718449.ovh.net
User admin
IdentityFile ~/.ssh/id_rsa_admin
Port 9215
Wtedy po prostu ssh vpszadziała! Oczywiście vpsjest to tylko przykład, możesz użyć dowolnego innego aliasu (na przykład, jeśli masz więcej niż jeden VPS). Zobacz man ssh_configlistę opcji, które możesz tam ustawić.
@Mathieu Dlaczego trzy klucze? Jeśli dotyczy trzech różnych hostów, po prostu dodaj jeden wpis dla każdego hosta, każdy z odpowiednim kluczem.
fkraiem
@fkraiem Mam 3 różne klucze na tym samym serwerze, ale dla 3 użytkowników
Mathieu
@Mathieu Nie mogę tego teraz potwierdzić, ale myślę, że dodanie trzech IdentityFilewierszy w Hostsekcji powinno działać. Ponadto, jeśli wstawisz Userlinię, ten użytkownik stanie się domyślny podczas łączenia się z tym hostem, ale nadal możesz go zastąpić za pomocą @.
fkraiem
@fkraiem Dziękuję bardzo. Działa, ale wyświetlany jest następujący błąd „Agent przyznał, że nie podpisał się przy użyciu klucza”. Do połączenia używam „SSH_AUTH_SOCK = 0”, ale należy to zrobić przy każdym ponownym uruchomieniu. Czy jest jeszcze jakieś powitanie?
Mathieu,
16
Musisz użyć tej -iopcji do polecenia ssh, używając ścieżki do klucza. Zmodyfikowane polecenie będzie:
IdentityFile
wierszy wHost
sekcji powinno działać. Ponadto, jeśli wstawiszUser
linię, ten użytkownik stanie się domyślny podczas łączenia się z tym hostem, ale nadal możesz go zastąpić za pomocą@
.Musisz użyć tej
-i
opcji do polecenia ssh, używając ścieżki do klucza. Zmodyfikowane polecenie będzie:źródło
-i
przed nazwą hosta również działa; Myślę, że @Mathieu po prostu zapomniałem łącznika. : p