Windows ssh server

Da sia.
Vai alla navigazione Vai alla ricerca

Installare OpenSSH su windows

Partire dalla documentazione windows.

Modificare le regole del firewall con powershell

   Set-NetFirewallProfile -DefaultInboundAction Block -DefaultOutboundAction Allow # default block
   Get-NetFirewallRule -Name "*SSH*" | get-netfirewalladdressfilter | set-netfirewalladdressfilter -RemoteAddress 155.185.254.12,155.185.254.84,155.185.0.42
   Get-NetFirewallRule -Name "*RemoteDesktop-UserMode*" | get-netfirewalladdressfilter | set-netfirewalladdressfilter -RemoteAddress 155.185.254.12,155.185.254.84,155.185.0.42

Limitare l'accesso ad un gruppo utenti

`sshd_config` è in una cartella nascosta:

   vim c:\programdata\ssh\sshd_config

   AllowGroups unimoread\si_admins

Configurare il logging

Panoramica sulle logging facilities di OpenSSH.

Modificare c:\programdata\ssh\sshd_config

  SyslogFacility LOCAL0
  LogLevel Debug

I log si troveranno in c:\programdata\ssh\logs\sshd.log

Riavviare

  net stop sshd; net start sshd

Autenticazione con pubkey

Commentare in sshd_config le righe:

  #Match Group administrators
  #      AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

e riavviare.

Creare come in linux il file .ssh/authorized_keys e copiarvi dentro il file .pub abbinato alla pubkey. Attenzione che deve essere in UTF-8.

Per rendere obbligatorio l'accesso con pubkey, eliminare PasswordAuthentication da sshd_config.

PowerShell come shell di default

   New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force

Test di connessione

Editare il proprio .ssh/config

   Host netsystem-01
     user malvezzi
     ProxyJump yucata.dmz-ext.unimo.it
     HostName netsystem-01.dmz-ext.unimo.it

dopo di ché ci si può connettere con:

    $ ssh netsystem-01