Инструкция подключения к узлу исследуемой сети, работающему на ОС Windows, по протоколу SSH
Для подключения к узлу исследуемой сети, функционирующему на базе ОС семейства Windows, необходима предварительная настройка сервисов SSH.
Подключение к узлу исследуемой сети
Для подключения к узлу исследуемой сети, функционирующему на базе ОС семейства Windows, необходимо выполнить следующие действия:
-
Запустить Windows PowerShell от имени администратора
-
Проверить статус компонента
Сервер OpenSSH
с помощью команды:Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Ser*'
-
В результате выполнения команды должно быть отображено «Installed» в поле «State» (
State : Installed
) -
Изменить тип запуска службы
sshd
на автоматический и запустить ее с помощью команд:Set-Service -Name sshd -StartupType 'Automatic'
Start-Service sshd
-
Убедиться в том, что
Сервер OpenSSH
запущен и разрешены подключения через порт 22 с помощью команды:netstat -na| find ":22"
-
В результате выполнения команды должна отобразится следующая строка:
TCP 0.0.0.0.22 0.0.0.0 LISTENING
-
Проверить статус правила
Windows Defender Firewall
, разрешающее подключения по порту TCP/22 с помощью команды:Get-NetFirewallRule -Name **OpenSSH-Server** |select Name, DisplayName, Description, Enabled
-
В том случае, если правило по каким-либо причинам отключено (состояние
Enabled=False
) или отсутствует, необходимо добавить новое правило, используя команду:New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
-
Настроить конфигурационный файл
sshd_config
и перезапустить сервисsshd
с помощью команды:restart-service sshd
-
Конфигурационный файл после внесения изменений должен выглядеть следующим образом:
# This is the sshd server system-wide configuration file. See# sshd_config(5) for more information.# The strategy used for options in the default sshd_config shipped with# OpenSSH is to specify options with their default value where# possible, but leave them commented. Uncommented options override the# default value.Port 22AddressFamily anyListenAddress 0.0.0.0#ListenAddress#HostKey PROGRAMDATA/ssh/ssh_host_rsa_key#HostKey PROGRAMDATA/ssh/ssh_host_dsa_key#HostKey PROGRAMDATA/ssh/ssh_host_ecdsa_key#HostKey PROGRAMDATA/ssh/ssh_host_ed25519_key# Ciphers and keying#RekeyLimit default none# Logging#SyslogFacility AUTH#LogLevel INFO# Authentication:#LoginGraceTime 2m#PermitRootLogin prohibit-passwordStrictModes no#MaxAuthTries 6#MaxSessions 10PubkeyAuthentication yes# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2# but this is overridden so installations will only check .ssh/authorized_keysAuthorizedKeysFile .ssh/authorized_keys#AuthorizedPrincipalsFile none# For this to work you will also need host keys in %programData%/ssh/ssh_known_hosts#HostbasedAuthentication no# Change to yes if you don’t trust ~/.ssh/known_hosts for# HostbasedAuthentication#IgnoreUserKnownHosts no# Don’t read the user’s ~/.rhosts and ~/.shosts files#IgnoreRhosts yes# To disable tunneled clear text passwords, change to no here!PasswordAuthentication yes#PermitEmptyPasswords no# GSSAPI options#GSSAPIAuthentication no#AllowAgentForwarding yes#AllowTcpForwarding yes#GatewayPorts no#PermitTTY yes#PrintMotd yes#PrintLastLog yes#TCPKeepAlive yes#UseLogin no#PermitUserEnvironment no#ClientAliveInterval 0#ClientAliveCountMax 3#UseDNS no#PidFile /var/run/sshd.pid#MaxStartups 10:30:100#PermitTunnel no#ChrootDirectory none#VersionAddendum none# no default banner path#Banner none# override default of no subsystemsSubsystem sftp sftp-server.exe# Example of overriding settings on a per-user basis#Match User anoncvs# AllowTcpForwarding no# PermitTTY no# ForceCommand cvs server#Match Group administrators# AuthorizedKeysFile PROGRAMDATA/ssh/administrators_authorized_keysподсказкаЖирным шрифтом выделены внесенные в конфигурационный файл изменения
-
Запустить командную строку от имени администратора и сгенерировать пару ключей используя команду:
ssh-keygen
-
В папке, в которой была создана пара ключей (C:\Users\ %User%.ssh), создать файл
authorized_keys.CRLF
-
В папке
C:\ProgramData\ssh\
создать файлadministrators_authorized_keys.CRLF
-
Изменить права доступа на созданные файлы (удалить всех пользователей кроме «Система» и текущего пользователя) и сохранить изменения
-
В Windows PowerShell поочередно выполнить следующие, поставляемые со Сканер-ВС, скрипты:
powershell.exe -ExecutionPolicy Bypass -File fixhostfilepermissions.ps1
powershell.exe -ExecutionPolicy Bypass -File fixuserfilepermissions.ps1
-
Перезапустить сервис
sshd
с помощью команды:Restart-Service sshd