Próbuję użyć ssh / scp z systemu Windows do systemu Linux bez konieczności podawania hasła.
Oto co zrobiłem i wydaje się, że to nie działa:
- wygenerowane klucze publiczne i prywatne przy użyciu Putty Key Generator (w systemie Windows)
- zapisał pliki jako
id_rsa.pub
iid_rsa
- skopiował je do
~/.ssh
- dodano id_rsa.pub do pola Linux w
~/.ssh/authorized_keys
- Następnie próbuję przejść
ssh
do Linux-a z systemu Windows i nadal muszę wprowadzić hasło
Czy coś brakuje?
Potrzebujesz Pageant .
Zobacz wideo Logowanie bez hasła za pomocą PuTTY i Pageant . I / lub post na blogu Howto: Bezhasłowe uwierzytelnianie SSH za pomocą PuTTY .
źródło
Spróbuj Plink (część PuTTY)
źródło
Konfigurowanie uwierzytelniania za pomocą klucza SSH może być nieco trudne. Brzmi, jakbyś obejmował wszystkie swoje bazy. Jedna rzecz, która często zaskakuje ludzi - musisz upewnić się, że
.ssh
katalog i jego zawartość są własnością użytkownika i są odczytywane / zapisywane tylko przez Ciebie.Uruchom to (we wszystkich swoich
.ssh
katalogach):Jeśli to nie zadziała, włącz pełne rejestrowanie, dodając
-v
dossh
polecenia (możesz dodać do trzech-vs
s, aby uzyskać większą szczegółowość).źródło
Użyłem tego:
c: \>
type c:\users\my_name\.ssh\id_rsa.pub | ssh [email protected] "cat >> ~/.ssh/authorized_keys"
źródło
Zakładam, że twoje klucze nie są chronione hasłem, a to, co otrzymujesz, nie jest prośbą o hasło do twojego klucza.
~ / .ssh nie jest używane przez kit po stronie systemu Windows, a kit nie ma domyślnego ustawienia klucza prywatnego. Jeśli używasz klienta ssh z wiersza poleceń, takiego jak cygwin, utworzenie katalogu .ssh poza domem będzie działać. Z poziomu Kit musisz skonfigurować i zapisać sesję.
W oknie dialogowym konfiguracji kitu spójrz na połączenie -> dane i wypełnij pole automatycznej nazwy użytkownika. Następnie przejdź do połączenia -> ssh -> auth i poprawnie ustaw swój klucz prywatny. Następnie wróć do okna dialogowego sesji i zapisz tę sesję. Możesz także ustawić nazwę hosta, jeśli chcesz.
Po zapisaniu sesji możesz użyć polecenia „putty-load” „savesession”.
źródło
Może być również konieczna zmiana uprawnień w katalogu domowym:
źródło
Byłem w stanie to zrobić dokładnie
Windows 7
za pomocą-i
opcji dostarczenia prywatnego klucza tożsamości:z wyjątkiem tego, że na zdalnym hoście moje autoryzowane klucze są
/etc/ssh/authorized_keys/remoteuser
i są/etc/ssh/sshd_config
, zmieniłemale nie wiem, czy zdalna konfiguracja SSH powinna mieć znaczenie.
źródło
Wszystko czego potrzebujesz to wieloplatformowe
ssh
narzędzia wiersza poleceńssh-keygen
issh-copy-id
. git dla Windows zawiera je.Zrób to z
bash
powłoki zainstalowanej na git :Lub uruchom ten skrypt w PowerShell:
Następnie logowanie bez hasła powinno działać zarówno dla, jak
ssh
i dlascp
.źródło