O Windows 10 tem agora o OpenSSH construído em https://docs.microsoft. com/en-us/windows- server/administration/openssh/openssh_install_firstuse
Obter um prompt de comando administrativo
Open PowerShell as an Administrator.
Verificar versões disponíveis
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Instalar cliente
Add-WindowsCapability -Online -Name OpenSSH.Client ~~~~ 0.0.1.0
Instalar servidor
Add-WindowsCapability -Online -Name OpenSSH.Server ~~~~ 0.0.1.0
Iniciar servidor e activar no arranque
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
Encontre o seu endereço IP Windows
ipconfig
Na sua máquina remota (Linux), encontre o seu endereço IP.
ifconfig
Crie uma chave SSH pública
ssh-keygen.exe
Copie a chave pública da máquina local (Windows) para a remota (Linux) para que não tenha de estar sempre a digitar uma password.
Note que o ssh-copy-id não está actualmente disponível no Windows.
cat C:\Users\YOU/.ssh/id_rsa.pub | ssh USER@REMOTE_IP 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
Faça o mesmo na sua máquina Linux (Nota, o ssh-copy-id não funciona)
ssh-keygen # if needed
cat ~/.ssh/id_rsa.pub | ssh USER@WINDOWS_IP 'mkdir -p ~/.ssh && type con >> C:/Users/YOU/.ssh/authorized_keys'
O método acima não funcionou para mim, por isso acabei por SCPar manualmente a chave pública e colá-la no ficheiro C:/Users/YOU/.ssh/authorized_keys.
Isso ainda não funcionou, por isso tive de modificar o ficheiro sshd_config.
Match User YOU
AuthorizedKeysFile C:/Users/YOU/.ssh/authorized_keys
Crie uma senha no Windows se você ainda não tem uma
System Settings...Sign-in options
– Nota, você ainda pode desativar a tela de login do Windows a) Definindo a opção ‘Require sign-in’ para nunca e b) Usando o comando ‘netplwiz’ e desmarcando a opção ‘Users must enter password’. …‘ checkbox.
Agora deve ser capaz de SSH ou SCP da sua máquina Linux
scp FILE WINDOWS_IP:C:/Users/YOU/Desktop