Настройка Password Free SSH из Linux в Windows 10 - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь настроить ssh-путь, свободный от пароля, с Linux-сервера на Windows-машину. В настоящее время у меня работает MobaSSH на компьютере с Windows. Я могу ssh с linux-сервера на машину Windows нормально и выполнять команды просто отлично, но мне нужно ввести пароль.

Я создаю открытый ключ RSA в системе Linux и, используя WinSCP, скопировал файл вв папку C: \ Users \ MyUserName \ .ssh и перезапустил службу MobaSSh на компьютере с Windows.

Он все равно не позволит мне войти без пароля. Что мне здесь не хватает? Любая помощь очень ценится.

1 Ответ

0 голосов
/ 03 октября 2019

OpenSSH доступен для Windows 10 и работает очень надежно для меня. Я могу постоянно подключаться с компьютера Linux без пароля. Вот как это сделать.

  • обновить до Windows 10 версии 1809 или выше

    • проверить через: powershell -c "(Get-Item 'HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion').GetValue('ReleaseID')";см. также systeminfo | findstr /B /C:"OS Name" /C:"OS Version" для Pro vs. Home, номер сборки
    • обновить с помощью настроек Центра обновления Windows или Загрузить Windows 10 (последняя работает вокруг проблемы, при которой некоторые системы застряли на1803 )
  • установить SSH-клиент и сервер (как администратор; источник ) - в Windows PowerShell :

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd  # remote login should be possible following this command
Set-Service -Name sshd -StartupType 'Automatic'
Get-NetFirewallRule -Name *ssh*  # there should be a firewall rule named "OpenSSH-Server-In-TCP"  # optional
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0  # optional
  • включение входа с открытым ключом для администраторов ( source ) - из командной строки Linux :
scp ~/.ssh/id_rsa.pub administrator@remote_computer_name:'C:\ProgramData\ssh\administrators_authorized_keys'  # if using an alternate method, ensure file is not UTF-16 encoded
icacls C:\ProgramData\ssh\administrators_authorized_keys /remove "NT AUTHORITY\Authenticated Users"
icacls C:\ProgramData\ssh\administrators_authorized_keys /inheritance:r
get-acl C:\ProgramData\ssh\ssh_host_dsa_key | set-acl C:\ProgramData\ssh\administrators_authorized_keys
  • включение входа с открытым ключом для не-администраторов - в Windows PowerShell :
Install-Module -Force OpenSSHUtils -Scope AllUsers  # for: Repair-AuthorizedKeyPermission
cd C:\Users\...
ssh-keygen  # create ~/.ssh
# add key(s) to ~/.ssh/authorized_keys
$ConfirmPreference = 'None'; Repair-AuthorizedKeyPermission -FilePath .ssh\authorized_keys
# if above fails, try ''%%Set-ExecutionPolicy Unrestricted -Scope CurrentUser%%''; see also https://github.com/PowerShell/Win32-OpenSSH/issues/1245#issuecomment-440388604
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...