Windows 10 ma teraz wbudowany OpenSSH https://docs.microsoft. com/en-us/windows- server/administration/openssh/openssh_install_firstuse
Get an admin command prompt
Open PowerShell as an Administrator.
Check available versions
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Install client
Install server
Add-WindowsCapability -Online -Name OpenSSH.Client ~~~~ 0.0.1.0
Start server and enable at boot
Add-WindowsCapability -Online -Name OpenSSH.Server ~~~~ 0.0.1.0
Find your Windows IP address
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
On your remote (Linux) machine, Znajdź swój adres IP.
ipconfig
Create a public SSH key
ifconfig
Kopiuj klucz publiczny z maszyny lokalnej (Windows) na zdalną (Linux), aby nie trzeba było cały czas wpisywać hasła.
Zauważ, że ssh-copy-id nie jest obecnie dostępny w Windows.
ssh-keygen.exe
Rób to samo na swojej maszynie z Linuksem (uwaga, ssh-copy-id nie działa)
cat C:\Users\YOU/.ssh/id_rsa.pub | ssh USER@REMOTE_IP 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
Powyższa metoda nie zadziałała dla mnie, więc skończyłem z ręcznym SCPingiem klucza publicznego i wklejeniem go do pliku C:/Users/YOU/.ssh/authorized_keys.
To nadal nie działało, więc musiałem zmodyfikować plik sshd_config.
ssh-keygen # if needed
cat ~/.ssh/id_rsa.pub | ssh USER@WINDOWS_IP 'mkdir -p ~/.ssh && type con >> C:/Users/YOU/.ssh/authorized_keys'
Tworzenie hasła w systemie Windows, jeśli nie masz jeszcze
Match User YOU
AuthorizedKeysFile C:/Users/YOU/.ssh/authorized_keys
– Zauważ, że nadal możesz wyłączyć ekran logowania do systemu Windows poprzez a) Ustawienie opcji ‘Wymagaj logowania’ na nigdy i b) Użycie polecenia ‘netplwiz’ i odznaczenie opcji ‘Użytkownicy muszą podać hasło. …’ checkbox.
Teraz powinieneś mieć możliwość SSH lub SCP z Twojej maszyny z Linuksem
System Settings...Sign-in options