Jak połączyć się ze zdalnym serwerem za pomocą mojej pary kluczy SSH za pomocą nowej wersji systemu Windows 10 Linux?

1

Używam nowej powłoki Linux Bash Shell, która została niedawno udostępniona w rocznicowej aktualizacji systemu Windows 10.

Ten bash jest dostarczany z punktem montowania Linuksa (/ mnt / c / Users / [nazwa użytkownika]) w systemie Windows, który jest używany jako dom użytkownika Linuksa podczas uruchamiania Linuksa, jeśli mam rację.

Ale mimo że umieściłem parę kluczy SSH w istniejącym folderze użytkownika .ssh (/mnt/c/Users/[username]/.ssh), nie jest rozpoznawany podczas łączenia się ze zdalnym serwerem przez SSH (nazwa użytkownika ssh @ distant- server.com). Zawsze akceptuje hasło nazwy użytkownika zamiast uwierzytelniania za pomocą klucza publicznego, co ma miejsce w przypadku moich innych klientów.

Ponadto klucz publiczny znajduje się już w pliku autoryzowanych_danych odległego serwera.

Czy coś brakuje?

bolino
źródło

Odpowiedzi:

2

Twój profil bash można uzyskać w systemie Windows 10 według ścieżki:

% USERPROFILE% \ AppData \ Local \ lxss \ home \ [nazwa użytkownika bash]

Musisz podać klucz pary SSH

% USERPROFILE% \ AppData \ Local \ lxss \ home \ [nazwa użytkownika bash] \. Ssh

I nie zapomnij o uprawnieniach do id_rsa. należy ustawić na 600, uruchamiając (w bash)

cd ~ / .ssh; chmod 600 id_rsa

Pantofelek
źródło
2

Twój katalog domowy w bash nie jest tym samym co punkt podłączenia do folderu użytkownika systemu Windows ( /mnt/c/Users/[username]). Będzie to w takim samym formacie jak Ubuntu będzie: /home/username.

Możesz dowiedzieć się, gdzie jest twój, biegając echo $HOME. Na przykład mój jest/home/john

Mogę potwierdzić dodanie .sshfolderu i skopiowanie twojego klucza publicznego (normalnie id_rsa.pub) do authorized_keysużycia polecenia cat id_rsa.pub > authorized_keys, pozwala mi pomyślnie połączyć się z moim serwerem SSH, który jest tylko uwierzytelnieniem klucza.

Uprawnienia authorized_keyspowinny być ustawione na 600 (tylko do odczytu i zapisu dla właściciela), uruchamiając cd ~/.sshichmod 600 authorized_keys

mt025
źródło
ma odpowiedź, powinniśmy również wspomnieć, że id_rsa powinien być chmoded do 600
sebastienvg
Dzięki, to bardzo jasne. Ale teraz, gdy umieściłem parę kluczy SSH w odpowiednim katalogu i ustawiłem odpowiednie uprawnienia, nadal nie można się połączyć bez hasła do zdalnego serwera SSH. Czy to możliwe, ponieważ moja para kluczy ma nazwę, id_rsa_[myname]a nie tylko id_rsa? Działa to tak samo na innych moich klientach.
bolino
@ Bolino Właśnie zaktualizowałem post. Właśnie miałem ten sam problem, co ty. Twój klucz publiczny powinien znajdować się w authorized_keyspliku. Aby uzyskać informacje, zobacz dwa ostatnie akapity powyżej.
mt025
Mój klucz publiczny znajduje się już w authorized_keysplikach odległych komputerów, ponieważ regularnie łączę się z nimi za pomocą tego samego klucza oraz z innymi klientami (nie Windows). Masz na myśli umieszczenie go również w authorized_keyspliku tego lokalnego klienta - na Windows Linux Bash? Nie wiem dokładnie dlaczego, ale zrobiłem to i wciąż nie działa.
bolino