Как перезапустить ssh windows

Question

Restarting ssh service on Windows

Answer

Description

Restarting the SSH service is necessary if you made changes to your SSH configuration file and a good idea if you are troubleshooting your SSH connection. Use the following instructions to restart your SSH service on Windows.

Instructions

1. Open the Services control panel which can be done in any of the following ways:

  • Go to Control Panel > Administrative Tools > Services
  • Open a run box type services.msc and hit enter
  • Right click Computer in the Start menu and select Manage. Click Services and Applications then Services

2. Locate and select OpenSSH in the list of services

3. On the left click Restart

openssh_service.jpg

[{«Business Unit»:{«code»:»BU053″,»label»:»Cloud & Data Platform»},»Product»:{«code»:»SS8NDZ»,»label»:»IBM Aspera»},»Component»:»»,»Platform»:[{«code»:»PF025″,»label»:»Platform Independent»}],»Version»:»All Versions»,»Edition»:»»,»Line of Business»:{«code»:»LOB45″,»label»:»Automation»}}]

В современных версиях Windows уже есть встроенный SSH сервер на базе пакета OpenSSH. В этой статье мы покажем, как установить и настроить OpenSSH сервер в Windows 10/11 и Windows Server 2022/2019 и подключиться к нему удаленно по защищенному SSH протоколу (как к Linux).

Содержание:

  • Установка сервера OpenSSH в Windows
  • Настройка SSH сервера в Windows
  • Sshd_config: Конфигурационный файл сервера OpenSSH
  • Подключение по SSH к Windows компьютеру
  • Логи SSH подключений в Windows

Установка сервера OpenSSH в Windows

Пакет OpenSSH Server включен в современные версии Windows 10 (начиная с 1803), Windows 11 и Windows Server 2022/2019 в виде Feature on Demand (FoD). Для установки сервера OpenSSH достаточно выполнить PowerShell команду:

Get-WindowsCapability -Online | Where-Object Name -like ‘OpenSSH.Server*’ | Add-WindowsCapability –Online

Или при помощи команды DISM:

dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0

Если ваш компьютер подключен к интернету, пакет OpenSSH.Server будет скачан и установлен в Windows.

Также вы можете установить сервер OpenSSH в Windows через современную панель Параметры (Settings -> Apps and features -> Optional features -> Add a feature, Приложения -> Управление дополнительными компонентами -> Добавить компонент. Найдите в списке OpenSSH Server и нажмите кнопку Install).

Установка openssh сервера из панели параметры windows 10

На изолированных от интернета компьютерах вы можете установить компонент с ISO образа Features On Demand (доступен в личном кабинете на сайте Microsoft: MSDN или my.visualstudio.com). Скачайте диск, извлеките его содержимое в папку c:\FOD (достаточно распаковать извлечь файл
OpenSSH-Server-Package~31bf3856ad364e35~amd64~~.cab
), выполните установку из локального репозитория:

Add-WindowsCapability -Name OpenSSH.Server~~~~0.0.1.0 -Online -Source c:\FOD

Также доступен MSI установщик OpenSSH для Windows в официальном репозитории Microsoft на GitHub (https://github.com/PowerShell/Win32-OpenSSH/releases/). Например, для Windows 10 x64 нужно скачать и установить пакет OpenSSH-Win64-v8.9.1.0.msi. Следующая PowerShell команда скачает MSI файл и установит клиент и сервер OpenSSH:

Invoke-WebRequest https://github.com/PowerShell/Win32-OpenSSH/releases/download/v8.9.1.0p1-Beta/OpenSSH-Win64-v8.9.1.0.msi -OutFile $HOME\Downloads\OpenSSH-Win64-v8.9.1.0.msi -UseBasicParsing

msiexec /i c:\users\root\downloads\OpenSSH-Win64-v8.9.1.0.msi

установочный msi файл openssh server для windows

Также вы можете вручную установить OpenSSH сервер в предыдущих версиях Windows (Windows 8.1, Windows Server 2016/2012R2). Пример установки Win32-OpenSSH есть в статье “Настройка SFTP сервера (SSH FTP) в Windows”.

Чтобы проверить, что OpenSSH сервер установлен, выполните:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Ser*'

State : Installed

проверить что установлен OpenSSH сервер в windows 10

Настройка SSH сервера в Windows

После установки сервера OpenSSH в Windows добавляются две службы:

  • ssh-agent (OpenSSH Authentication Agent) – можно использовать для управления закрытыми ключами если вы настроили SSH аутентификацию по ключам;
  • sshd (OpenSSH SSH Server) – собственно сам SSH сервер.

Вам нужно изменить тип запуска службы sshd на автоматический и запустить службу с помощью PowerShell:

Set-Service -Name sshd -StartupType 'Automatic'
Start-Service sshd

Start-Service sshd - запустить openssh

С помощью nestat убедитесь, что теперь в системе запущен SSH сервер и ждет подключений на порту TCP:22 :

netstat -na| find ":22"

nestat - порт 22 ssh сервера windows

Проверьте, что включено правило брандмауэра (Windows Defender Firewall), разрешающее входящие подключения к Windows по порту TCP/22.

Get-NetFirewallRule -Name *OpenSSH-Server* |select Name, DisplayName, Description, Enabled

Name DisplayName Description Enabled
---- ----------- ----------- -------
OpenSSH-Server-In-TCP OpenSSH SSH Server (sshd) Inbound rule for OpenSSH SSH Server (sshd) True

правило firewall для доступа к windows через ssh

Если правило отключено (состоянии Enabled=False) или отсутствует, вы можете создать новое входящее правило командой New-NetFirewallRule:

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

Рассмотрим, где храниться основные компоненты OpenSSH:

  • Исполняемые файлы OpenSSH Server находятся в каталоге
    C:\Windows\System32\OpenSSH\
    (sshd.exe, ssh.exe, ssh-keygen.exe, sftp.exe и т.д.)
  • Конфигурационный файл sshd_config (создается после первого запуска службы):
    C:\ProgramData\ssh
  • Файлы authorized_keys и ssh ключи можно хранить в профиле пользователей:
    %USERPROFILE%\.ssh\

Sshd_config: Конфигурационный файл сервера OpenSSH

Настройки сервере OpenSSH хранятся в конфигурационном файле %programdata%\ssh\sshd_config. Это обычный текстовый файл с набором директив. Для редактирования можно использовать любой текстовый редактор (я предпочитаю notepad++). Можно открыть с помощью обычного блокнота:

start-process notepad C:\Programdata\ssh\sshd_config

Например, чтобы запретить SSH подключение для определенного доменного пользователя (и всех пользователей указанного домена), добавьте в конце файле директивы:

DenyUsers winitpro\[email protected]
DenyUsers corp\*

Чтобы разрешить подключение только для определенной доменной группы:

AllowGroups winitpro\sshadmins

Либо можете разрешить доступ для локальной группы:

AllowGroups sshadmins

По умолчанию могут к openssh могут подключаться все пользователи Windows. Директивы обрабатываются в следующем порядке: DenyUsers, AllowUsers, DenyGroups,AllowGroups.

Можно запретить вход под учетными записями с правами администратора, в этом случае для выполнения привилегированных действий в SSH сессии нужно делать runas.

DenyGroups Administrators

Следующие директивы разрешают SSH доступ по ключам (SSH аутентификации в Windows с помощью ключей описана в отдельной статье) и по паролю:

PubkeyAuthentication yes
PasswordAuthentication yes

Вы можете изменить стандартный SSH порт TCP/22, на котором принимает подключения OpenSSH в конфигурационном файле sshd_config в директиве Port.

После любых изменений в конфигурационном файле sshd_config нужно перезапускать службу sshd:

restart-service sshd

Подключение по SSH к Windows компьютеру

Теперь вы можете попробовать подключиться к своей Windows 10 через SSH клиент (в этом примере я использую putty).

Вы можете использовать встроенный SSH клиентом Windows для подключения к удаленному хосту. Для этого нужно в командной строке выполнить команду:

ssh [email protected]

В этом примере
alexbel
– имя пользователя на удаленном Windows компьютере, и 192.168.31.102 – IP адрес или DNS имя компьютера.

Обратите внимание что можно использовать следующие форматы имен пользователей Windows при подключении через SSH:

  • alex@server1
    – локальный пользователь Windows
  • [email protected]@server1
    –пользователь Active Directory (в виде UPN) или аккаунт Microsoft/ Azure(Microsoft 365)
  • winitpro\alex@server1
    – NetBIOS формат имени

В домене Active Directory можно использовать Kerberos аутентификацию в SSH. Для этого в sshd_config нужно включить параметр:

GSSAPIAuthentication yes

После этого можно прозрачно подключать к SSH сервер с Windows компьютера в домене из сессии доменного подключается. В этом случае пароль пользователя не указывается и выполняется SSO аутентификация через Kerberos:

ssh -K server1

При первом подключении появится стандартный запрос на добавление узла в список известных SSH хостов.

putty сохранить ключ

Нажимаем Да, и в открывшееся окне авторизуемся под пользователем Windows.

ssh сессия в win 10 на базе openssh

При успешном подключении запускается командная оболочка cmd.exe со строкой-приглашением.

admin@win10tst C:\Users\admin>

В командной строке вы можете выполнять различные команды, запускать скрипты и программы.

подключение к windows 10 через ssh

Я предпочитаю работать в командной строке PowerShell. Чтобы запустить интерпретатор PowerShell, выполните:

powershell.exe

powershell.exe в ssh сессии windows

Чтобы изменить командную оболочку (Shell) по умолчанию в OpenSSH с cmd.exe на PowerShell, внесите изменение в реестр такой командой:

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

openssh - изменить shell по умолчанию на powershell

Осталось перезапустить SSH подключение и убедиться, что при подключении используется командный интерпретатор PowerShell (об этом свидетельствует приглашение
PS C:\Users\admin>
).

powershell cli в windows 10 через ssh

В SSH сессии запустилась командная строка PowerShell, в которой работают привычные функции: авто дополнение, раскраска модулем PSReadLine, история команд и т.д. Если текущий пользователь входит в группу локальных администраторов, то все команды в его сессии выполняются с повышенными правами даже при включенном UAC.

Логи SSH подключений в Windows

В Windows логи подключений к SSH серверу по-умолчанию пишутся не в текстовые файлы, а в отдельный журнал событий через Event Tracing for Windows (ETW). Откройте консоль Event Viewer (
eventvwr.msc
>) и перейдите в раздел Application and services logs -> OpenSSH -> Operational.

При успешном подключении с помощью к SSH серверу с помощью пароля в журнале появится событие:

EventID: 4
sshd: Accepted password for root from 192.168.31.53 port 65479 ssh2

события подключения к openssh сервер windows в event viewer

Если была выполнена аутентификация с помощью SSH ключа, событие будет выглядеть так:

sshd: Accepted publickey for locadm from 192.168.31.53 port 55772 ssh2: ED25519 SHA256:FEHDEC/J72Fb2zC2oJNb45678967kghH43h3bBl31ldPs

Если вы хотите, чтобы логи писались в локальный текстовый файл, нужно в файле sshd_config включить параметры:

SyslogFacility LOCAL0
LogLevel INFO

Перезапустите службу sshd и провеьте, что теперь логи SSH сервера пишутся в файл C:\ProgramData\ssh\logs\sshd.log

текстовый sshd.log в windows

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

SSH (ч.2): Настройка сервера OpenSSH

Оглавление

Как настроить SSH сервер (sshd)

Служба sshd считывает настройки из конфигурационного файла /etc/ssh/sshd_config. Этот файл содержит пары «ключевое слово — аргумент», одна пара на одной строке. Для каждого ключевого слова будет использовано первое полученное значение (исключение составляют несколько директив, которые можно использовать несколько раз, и каждого значение будет учтено, например это Port и ListenAddress).

Опционально аргументы можно заключить в двойные кавычки («), чтобы передать аргументы, содержащие пробелы.

Ключевые слова не чувствительны к регистру, а аргументы чувствительны к регистру.

Многие директивы закомментированы, но они указывают на значение по умолчанию, которое всё равно используется. Если вас устраивает значение по умолчанию, то не нужно ничего менять. Если же вы хотите другое значение, то нужно раскомментировать строку с соответствующей директивой (убрать символ #) и внести изменения.

Дополнительно можно указать опции командной строки — они имеют приоритет над настройками в конфигурационном файле.

Перезапуск службы SSH

Если между sshd.service и sshd.socket (подробности в разделе «Управление службой OpenSSH») вы выбрали запуск sshd.service, то чтобы внесённые в конфигурационный файл изменения вступили в силу, необходимо перезапустить службу:

Для sshd.socket перезапуск службы требуется только при изменении номера порта (как это показано ниже) и делается так:

Как изменить порт, на котором работает сервер OpenSSH

Все настройки выполняются в файле /etc/ssh/sshd_config или в строке команды запуска sshd.

Для sshd.socket смена прослушиваемого службой порта происходит иначе.

Если вы используете sshd.service (объяснения в первой части), то смена порта также происходит в файле /etc/ssh/sshd_config. Для этого раскомментируйте директиву Port и укажите новое значение:

Опцию Port разрешено использовать несколько раз.

Также порт можно установить с помощью ListenAddress.

Если вы используете сокет sshd.socket и хотите поменять для SSH прослушиваемый порт, то вам нужно редактировать специальный файл следующим образом:

Там можно указать только порт:

А также IP и порт:

Обратите внимание, что использование ListenStream дважды в одном конфигурационном файле не является ошибкой. Если вы используете ListenStream только один раз с указанием порта, тогда будут прослушиваться и 22 порт и порт, который вы указали. Первое использование ListenStream= отключает прослушивание 22 порта.

Для sshd.socket другие настройки, как обычно, в файле /etc/ssh/sshd_config. Но директивы Port и ListenAddress будут игнорироваться (если выбрано прослушивание сокета).

Как выбрать интерфейс (IP) для прослушивания

В системе может быть несколько сетевых интерфейсов с несколькими IP адресами, по умолчанию sshd прослушивает их все, в том числе IPv6 адреса:

Если вы хотите, чтобы компьютер в локальной сети был доступен только для устройств в локальной сети, то можно указать его локальный IP:

Директиву ListenAddress можно использовать несколько раз в одном конфигурационном файле. Разрешены следующие форматы:

Если порт не указан, то sshd будет прослушивать на указанном порту в соответствии со всеми установленными опциями Port в этом файле.

Квалификатор rdomain является необязательным, он имеет отношение к маршрутизации.

Также обратите внимание, что с ListenAddress обязательно должен быть указано имя хоста (адрес) ИЛИ порт. Можно указать отдельно имя хоста (адрес), можно указать отдельно порт, а также можно указать их вместе. Во всех вариантах rdomain может отсутствовать.

Опции командной строки (об их использовании далее) имеют приоритет над директивами конфигурационного файла. В том числе опция для установки используемого порта приводят к тому, что Port в конфигурационном файле игнорируется. Но порты указанные с ListenAddress перезаписывают порты в строке команды.

Вы можете указать конкретный IP, который будет прослушиваться в ожидании подключений. А опцией AddressFamily вы можете выбрать для прослушивания все адреса, только IPv4 или только IPv6:

  • any (по умолчанию — любые адреса),
  • inet (использовать только IPv4),
  • inet6 (использовать только IPv6),

Почему пользователь root не может подключиться по SSH с верным паролем. Как запретить или разрешить подключение root по SSH

Если при подключении к удалённой системе по SSH вы сталкиваетесь с ошибкой, что не удаётся войти под пользователем SSH даже с верным паролем:

То проверьте значение директивы PermitRootLogin:

По умолчанию она закомментирована, но указанное значение всё равно используется по умолчанию.

Директива PermitRootLogin определяет, может ли root выполнить вход используя ssh. Аргументами могут быть: yes, prohibit-password, forced-commands-only или no. Значением по умолчанию является prohibit-password.

Если эта опция установлена на prohibit-password (или устаревший псевдоним without-password), то вход по паролю и интерактивная аутентификация с клавиатуры отключены для пользователя root.

Если эта опция установлена на forced-commands-only, вход root с аутентификацией по публичному ключу будет разрешён, но только если была указана опция ForceCommand с командой (это может быть полезно для получения удалённых бэкапов, даже если нормальный вход root не разрешён). Все другие методы аутентификации отключены для root.

Если эта опция установлена на no, то root’у не разрешён вход вовсе.

Если опция установлена на yes, то разрешён вход для рута без ограничений.

Итак, если вы столкнулись с проблемой, что не можете выполнить вход с верным паролем под пользователем root, то либо настройте вход без пароля — по публичному ключу, либо установите значение этой директивы на yes.

Запрет и разрешение входа в SSH по паролю обычным пользователям

Чуть выше мы рассмотрели вариант, когда пользователю root запретить вход по паролю. Такую же настройку можно сделать для всех остальных пользователей, для этого используется директива PasswordAuthentication. Значением по умолчанию является yes, то есть вход по паролю разрешён. Для запрета входа по паролю всем пользователям, установите значение этой директивы на no.

Разрешение входа без пароля

За разрешение входа без пароля отвечает директива PermitEmptyPasswords. Она нужна для специфичных случаев, чтобы разрешить вход аккаунтам с пустой парольной строкой. По умолчанию установлена на no.

Как разрешить или запретить пользователям входить через SSH

Всего имеется 4 директивы, которые разрешают или запрещают пользователям и группам подключаться к SSH. Эти директивы в порядке обработки: DenyUsers, AllowUsers, DenyGroups и наконец AllowGroups.

За ключевым словом AllowUsers может следовать список шаблонов имён пользователей, разделённых пробелами, например:

Если директива используется, то вход разрешён только пользователям, имена которых соответствуют шаблонам. Принимаются только имена пользователей, цифровые идентификаторы пользователей не распознаются. По умолчанию вход разрешён для всех пользователей. Если шаблон имеет вид ПОЛЬЗОВАТЕЛЬ@ХОСТ, тогда раздельно проверяются ПОЛЬЗОВАТЕЛЬ и ХОСТ и вход разрешается только определённым пользователям с определённых хостов. В качестве ХОСТа могут быть адреса в формате CIDR, то есть в виде адрес/маска.

Далее о шаблонах, которые могут принимать директивы DenyUsers, AllowUsers, DenyGroups и AllowGroups.

Шаблоны в файле настроек SSH

Шаблон состоит из нуля или более символов, которые не являются белыми пробелами, ‘*’ (подстановочного символа, который соответствует нулю или более символам), а также ‘?’ (подстановочный символ, который соответствует ровно одному любому символу). Например, чтобы охарактеризовать любой хост в наборе доменов «.co.uk» можно использовать следующий шаблон:

Следующий шаблон будет соответствовать любому хосту в сетевом диапазоне 192.168.0.[0-9]:

Список шаблонов — это несколько шаблонов, разделённых запятой. Шаблоны внутри списка могут иметь противоположное значение если перед ними стоит восклицательный знак («!»). Например, для разрешения ключа использовать откуда угодно внутри организации, кроме пула «dialup», можно использовать следующее (в authorized_keys):

Помните, что отрицательное совпадение никогда само по себе не даст положительных результатов. Например, попытка сопоставить хост «host3» следующими списку шаблонов не найдёт совпадений:

Решением для предыдущей ситуации является включение термина, который приведёт к положительному совпадению, им может быть подстановочный символ:

Как разрешить подключение только с определённого IP или группы IP. Как заблокировать определённые IP для SSH

С помощью директив (перечислены в порядке обработки) DenyUsers, AllowUsers, DenyGroups и AllowGroups и шаблонов можно настроить разрешения для доступа к SSH по IP.

Рассмотрим несколько примеров. Если в файл sshd_config добавить фильтрацию с AllowUsers:

Это разрешит доступ для johndoe и admin2 только с адресов 192.168.1.*, а для otherid1, otherid2 доступ будет открыт с любого адреса.

Чтобы разрешить доступ к SSH любым пользователям, но только с определённых IP, в файле /etc/ssh/sshd_config используйте директиву AllowUsers с подстановочным символом:

Возможно ограничить ключ ssh или ключ на основе ca набором адресов в файле .ssh/authorized_keys домашнего каталога данного пользователя:

В этом примере открытый ключ для useralias будет действовать только с заданных адресов.

Настройка журналов SSH сервера

Служба SSH не ведёт свой собственный лог и записывает события в системный журнал. О том, как его просмотреть, обратитесь к разделу «Как проверить журнал событий SSH службы».

Можно настроить подробность ведения журнала — уровень вербальности, то есть какие именно сообщения будут записываться в этот журнал. Для этого используется директива LogLevel. Её значем по умолчанию является INFO. Также доступны следующие варианты:

  • QUIET
  • FATAL
  • ERROR
  • INFO
  • VERBOSE
  • DEBUG
  • DEBUG1
  • DEBUG2
  • DEBUG3

DEBUG и DEBUG1 являются эквивалентами. DEBUG2 и DEBUG3 — каждый указывает на более высокие уровни вывода отладочной информации.

Ведение журнала на уровне DEBUG нарушает политику приватности пользователей и не рекомендуется.

Запуск SSH без отсоединения от терминала

Запуск службы sshd описан в первой части. Также демон sshd можно запустить по имени файла. Для этого нужно указать полный путь до файла sshd, чтобы его узнать:

Запущенная таким образом sshd отключиться от терминала (перейдёт в фоновое выполнение) и не будет выводить что-либо в стандартный вывод.

Можно запустить sshd как процесс без отсоединения от терминала (чтобы процесс не стал демоном), для этого используйте опцию -D — это позволяет упростить процесс мониторинга работы SSH, поскольку сообщения о событиях и проблемах службы будут выводиться в стандартный вывод. Дополнительно можно указать опцию -d для включения режима отладки:

Запуск сервера SSH с другим конфигурационным файлом

С помощью опции -f можно указать путь до другого конфигурационного файла (значение по умолчанию /etc/ssh/sshd_config). sshd откажется запускаться без конфигурационного файла.

Как проверить конфигурационный файл сервера SSH без запуска службы

-t

Тестовый режим. Только проверяет правильность файла конфигурации и работоспособность ключей. Это полезно для надёжного обновления sshd, поскольку параметры конфигурации могут измениться.

Расширенный тестовый режим. С этой опцией sshd проверит правильность файла конфигурации, выведет действующую конфигурацию в стандартный вывод и затем завершит работу. При желании, правила соответствия могут применяться путём указания параметров соединения с использованием одной или нескольких опций -C.

-C connection_spec

Укажите параметры соединения для использования в расширенном тестовом режиме -T. Если установлены, любые директивы Match в файле конфигурации, которые будут применяться, применяются до записи конфигурации в стандартный вывод. Параметры соединения предоставляются в виде пар «ключевое слово=значение» и могут предоставляться в любом порядке, с несколькими опциями -C или в виде списка через запятую. Ключевыми словами являются «addr», «user», «host», «laddr», «lport» и «rdomain», и они соответствуют адресу источника, пользователю, разрешённому имени хоста источника, локальному адресу, номеру локального порта и домену маршрутизации соответственно.

Другие важные опции командной строки сервера SSH

-c host_certificate_file

Указывает путь к файлу сертификата для идентификации sshd во время обмена ключами. Файл сертификата должен соответствовать файлу ключа хоста, указанному с помощью параметра -h или директивы конфигурации HostKey.

-h host_key_file

Указывает файл, из которого читается ключ хоста. Эта опция должна быть указана, если sshd не запускается от имени пользователя root (поскольку обычные файлы ключей хоста как правило не читаются никем, кроме root). По умолчанию это /etc/ssh/ssh_host_ecdsa_key, /etc/ssh/ssh_host_ed25519_key и /etc/ssh/ssh_host_rsa_key. Можно иметь несколько файлов ключей хоста для разных алгоритмов ключей хоста.

-E файл_журнала

Добавить журналы отладки в файл_журнала вместо системного журнала.

-e

Записывать журналы отладки в стандартный вывод ошибок вместо системного журнала.

-o опция

Может использоваться для задания параметров в формате, используемом в файле конфигурации (sshd_config). Это полезно для указания параметров, для которых нет отдельного флага командной строки. Самые важные директивы конфигурационного файла рассмотрены выше.

-p порт

Указывает порт, на котором сервер прослушивает соединения (по умолчанию 22). Допускается использование нескольких портов. Порты, указанные в файле конфигурации с параметром «Port», игнорируются, если указан порт командной строки. Порты, указанные с помощью параметра ListenAddress, переопределяют порты командной строки.

-q

Тихий режим. Ничего не отправляется в системный журнал. Без этой опции обычно запуск, аутентификация и завершение каждого соединения регистрируются.

Другие опции sshd

Рассмотрены самые востребованные опции конфигурационного файла sshd, кроме них имеется ещё много других, которые настраивают используемые шифры, могут более тонко определить порядок аутентификации и требования к подключающемуся, настраивают возможности пересылки (forwarding), установить выполняемую команду при подключении пользователя, вывод определённой информации при подключении и так далее.

С другими опциями конфигурационного файла sshd (на английском языке) вы сможете ознакомиться с помощью команды:

Информацию об опциях командной строки можно увидеть с помощью:

Источник

Содержание

  1. Перезапустите SSH на Windows и наслаждайтесь безопасным соединением!
  2. Как перезагрузить SSH на Windows?
  3. Понимание необходимости перезагрузки SSH
  4. Основные причины, по которым может понадобиться перезагрузка SSH
  5. Шаги для перезагрузки SSH на Windows
  6. Шаг 1: Открытие командной строки
  7. Шаг 2: Перезапуск службы OpenSSH
  8. Использование командной строки для перезагрузки SSH на Windows
  9. Использование панели управления для перезагрузки SSH на Windows
  10. Проверка успешной перезагрузки SSH

Перезапустите SSH на Windows и наслаждайтесь безопасным соединением!

SSH (Secure Shell) — это протокол удаленного доступа, который обеспечивает безопасное соединение между клиентом и сервером. Если у вас возникли проблемы с подключением по SSH на вашем компьютере с операционной средой Windows, то перезапуск службы SSH может быть полезным решением.

Перезапуск SSH может помочь в случаях, когда вы столкнулись с ошибками подключения или у вас возникли проблемы с неправильной аутентификацией. При этом важно учесть, что процедура перезапуска может отличаться в зависимости от используемого на вашем компьютере программного обеспечения.

Одним из способов перезапустить SSH на компьютере с Windows является использование командной строки. Для этого вам понадобится открыть командную строку с правами администратора и выполнить соответствующую команду. Например, если вы используете OpenSSH, вы можете выполнить следующую команду:

net stop sshd

net start sshd

Другой способ перезапустить SSH — это использовать графический интерфейс управления службами Windows. Для этого вам нужно открыть «Настройки» (Settings), найдите раздел «Службы» (Services) и найдите службу SSH. Затем щелкните правой кнопкой мыши на службе SSH и выберите «Перезапустить» (Restart).

Не забудьте, что при перезапуске SSH все текущие подключения будут прерваны, поэтому перед выполнением этой процедуры убедитесь, что сохранены все необходимые данные и работа на удаленном сервере не будет нарушена.

Как перезагрузить SSH на Windows?

Чтобы перезагрузить SSH на компьютере с операционной системой Windows, существуют несколько способов. Рассмотрим наиболее популярные из них.

1. Через командную строку (cmd.exe)

  1. Откройте командную строку, нажав клавиши Win + R и введя «cmd» в поле поиска.
  2. Введите команду «net stop sshd» и нажмите Enter. Эта команда остановит службу SSH.
  3. После того, как служба SSH остановлена, введите команду «net start sshd» и нажмите Enter. Эта команда запустит службу SSH снова.

2. Через панель управления

  1. Откройте панель управления, нажав клавиши Win + X и выбрав «Панель управления» в контекстном меню.
  2. Перейдите в раздел «Администрирование» и выберите «Услуги».
  3. Найдите в списке службу SSH и щелкните правой кнопкой мыши на ней.
  4. В открывшемся меню выберите «Перезапустить». Служба SSH будет перезагружена.

    Если вы столкнулись с проблемами при использовании SSH на Windows, перезагрузка может быть полезным решением. Применение одного из вышеуказанных методов позволит вам быстро перезагрузить службу SSH и, возможно, устранить возникшие проблемы.

Понимание необходимости перезагрузки SSH

Перезагрузка SSH может понадобиться по разным причинам. Например, после внесения изменений в конфигурационные файлы SSH, такие как изменение порта или разрешение определенных пользователей на подключение, может потребоваться перезапуск, чтобы изменения вступили в силу. Также перезагрузка может помочь в случае возникновения ошибок или неправильной работы службы SSH.

Процесс перезагрузки SSH на сервере с операционной системой Windows может быть немного отличаться от серверов с другими операционными системами. Один из способов перезапустить службу SSH на Windows — это использовать командную строку (Command Prompt) и команду «net stop sshd», чтобы остановить службу, а затем команду «net start sshd», чтобы вновь запустить службу.

Перезагрузка SSH имеет свои преимущества и может помочь в различных ситуациях. Она может обновить настройки, решить проблемы с подключением или устранить ошибки в работе. Понимание необходимости перезагрузки SSH и знание соответствующих инструкций по ее выполнению помогут поддерживать безопасность и эффективность удаленного подключения к вашему компьютеру или серверу.

Основные причины, по которым может понадобиться перезагрузка SSH

Ниже представлены основные причины, по которым может возникнуть необходимость в перезагрузке SSH:

  • Обновление конфигурации: При настройке SSH могут возникать ситуации, когда необходимо внести изменения в конфигурационные файлы. Перезагрузка SSH позволяет применить новую конфигурацию без необходимости перезапуска всего сервера.
  • Сбой в работе: Иногда SSH может зависнуть или перестать отвечать из-за различных проблем. Перезагрузка SSH может помочь восстановить его работу и восстановить удаленное подключение к серверу.
  • Обновление версии SSH: По мере развития технологий SSH появляются новые версии протокола, включающие в себя улучшенные функциональные возможности и повышенную безопасность. Перезагрузка SSH может потребоваться для обновления на более новую версию.

Шаги для перезагрузки SSH на Windows

Шаг 1: Открытие командной строки

Первым шагом для перезагрузки SSH на Windows является открытие командной строки. Для этого щелкните правой кнопкой мыши по кнопке «Пуск», выберите «Система» и затем «Командная строка». Вы также можете использовать сочетание клавиш Win+R, чтобы открыть окно «Выполнить», и ввести «cmd» в поле «Открыть».

Шаг 2: Перезапуск службы OpenSSH

После открытия командной строки вам необходимо выполнить команду для перезапуска службы OpenSSH. Для этого введите следующую команду и нажмите Enter:

net stop sshd

Эта команда остановит службу OpenSSH. Дождитесь завершения операции, прежде чем переходить к следующему шагу.

Затем введите следующую команду для запуска службы OpenSSH:

net start sshd

После выполнения этой команды служба OpenSSH будет перезапущена, и вы сможете вновь подключиться к удаленному компьютеру или серверу через SSH.

Теперь вы знаете, как перезагрузить службу SSH на Windows. Это простая процедура, которую можно выполнить даже без специальных навыков. Следуя указанным выше шагам, вы сможете быстро и безопасно перезапустить SSH на вашей операционной системе Windows.

Использование командной строки для перезагрузки SSH на Windows

Перезагрузка SSH может быть необходима в случае, когда возникают проблемы с соединением или когда требуется обновленная конфигурация. Для перезагрузки SSH на Windows мы будем использовать командную строку и утилиту OpenSSH.

Первым шагом является открытие командной строки. Для этого нажмите клавиши Win + R, введите «cmd» и нажмите Enter. После этого вы увидите командную строку.

Следующим шагом является вход в каталог, где располагается утилита OpenSSH. Обычно она установлена по пути «C:\Windows\System32\OpenSSH». Для входа в этот каталог необходимо ввести команду «cd C:\Windows\System32\OpenSSH» и нажать Enter.

Теперь вы можете использовать команды для перезагрузки SSH. Например, для остановки SSH можно использовать команду «OpenSSHUtils.exe —uninstall-service». А для запуска SSH снова можно воспользоваться командой «OpenSSHUtils.exe —install-service».

Таким образом, использование командной строки позволяет легко перезагрузить SSH на Windows. Не забудьте сохранить все изменения в конфигурации перед перезагрузкой, чтобы избежать потери данных или нарушения работы сервера.

Использование панели управления для перезагрузки SSH на Windows

Для перезагрузки SSH на Windows можно использовать панель управления. Панель управления предоставляет доступ к различным настройкам и функциям операционной системы. Чтобы перезагрузить SSH-сервис, следуйте следующим шагам:

  1. Щелкните на кнопке «Пуск» в левом нижнем углу экрана и выберите «Панель управления».
  2. В панели управления найдите раздел «Административные инструменты» и откройте его.
  3. Найдите и откройте «Службы».
  4. В списке служб найдите «OpenSSH SSH Server».
  5. Щелкните правой кнопкой мыши на службе «OpenSSH SSH Server» и выберите «Перезапустить» из контекстного меню.

После выполнения этих шагов SSH-сервис будет перезагружен, что может помочь в восстановлении соединения и решении проблем с SSH. Если проблема с соединением по-прежнему существует, рекомендуется обратиться к подробной документации или поддержке операционной системы Windows.

Использование панели управления для перезагрузки SSH на Windows является простым и удобным способом решения проблем с SSH-соединением. Этот метод обеспечивает быстрое восстановление доступа к серверу и упрощает процесс управления удаленными системами.

Проверка успешной перезагрузки SSH

После того как вы перезагрузили службу SSH на своем компьютере под управлением Windows, вам нужно убедиться, что перезагрузка была успешной. В этой статье мы рассмотрим несколько способов проверки успешной перезагрузки SSH.

Первым способом является простая проверка соединения SSH. Откройте свой SSH-клиент и попытайтесь подключиться к удаленному серверу. Если подключение установлено без проблем и вы видите приглашение на ввод пароля, это означает, что перезагрузка SSH была успешной.

Второй способ — это проверка службы SSH в диспетчере задач Windows. Нажмите комбинацию клавиш Ctrl+Shift+Esc, чтобы открыть диспетчер задач. Перейдите на вкладку «Службы» и найдите «OpenSSH SSH Server» или «ssh-agent». Убедитесь, что эта служба работает и ее статус отображается как «Запущено». Если статус не «Запущено», возможно, служба не перезапустилась правильно.

Третий способ — это проверка файла журнала SSH, чтобы увидеть, есть ли какие-либо ошибки или предупреждения после перезагрузки. Откройте файл журнала SSH, который обычно находится в директории «C:\ProgramData\ssh\logs\», и проверьте содержимое файла. Если вы видите какие-либо ошибки или предупреждения, это может указывать на проблему с перезагрузкой SSH.

Содержание

Введение
Check version
Установка из Windows Settings
Установка из PowerShell
Запуск
Подключение к серверу
Конфигурационные файлы
Удалить через Settings
Удалить из PowerShell
Похожие статьи

Введение

Про использование SSH в Linux вы можете прочитать в статье

«ssh in Linux»

Проверить версию

В

PowerShell

вы можете использовать следующую команду

ssh -V

Установка OpenSSH через Windows Settings

OpenSSH сервер и клиент могут быть установлены через Windows Settings
в Windows Server 2019 и Windows 10.

Чтобы выполнить установку обоих компонентов OpenSSH:

Settings Apps Apps & Features Optional Features.

Scan the list to see if the OpenSSH is already installed. If not, at the top of the page, select Add a feature, then:
Find OpenSSH Client, then click Install
Find OpenSSH Server, then click Install

После завершения установки вернитесь в

Apps Apps & Features and Optional Features

И вы увидите OpenSSH в списке.

Установка OpenSSH через PowerShell

To install OpenSSH using PowerShell, run PowerShell as an Administrator.

To make sure that OpenSSH is available, run the following cmdlet:

Get-WindowsCapability -Online | Where-Object Name -like ‘OpenSSH*’

This should return the following output if neither are already installed:

Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent

Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

Then, install the server or client components as needed:

# Install the OpenSSH Client

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Install the OpenSSH Server

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Both of these should return the following output:

Path :
Online : True
RestartNeeded : False

Start and configure OpenSSH Server

To start and configure OpenSSH Server for initial use, open PowerShell as an administrator, then run the following commands to start the sshd service:

# Start the sshd service
Start-Service sshd

# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType ‘Automatic’

# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify
if (!(Get-NetFirewallRule -Name «OpenSSH-Server-In-TCP» -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
Write-Output «Firewall Rule ‘OpenSSH-Server-In-TCP’ does not exist, creating it…»
New-NetFirewallRule -Name ‘OpenSSH-Server-In-TCP’ -DisplayName ‘OpenSSH Server (sshd)’ -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
Write-Output «Firewall rule ‘OpenSSH-Server-In-TCP’ has been created and exists.»
}

Connect to OpenSSH Server

Once installed, you can connect to OpenSSH Server from a Windows 10 or Windows Server 2019 device with the OpenSSH client
installed using PowerShell as follows. Be sure to run PowerShell as an administrator:

ssh username@servername

Once connected, you get a message similar to the following:

The authenticity of host ‘servername (10.00.00.001)’ can’t be established.
ECDSA key fingerprint is SHA256:(<a large string>).
Are you sure you want to continue connecting (yes/no)?

Selecting yes adds that server to the list of known SSH hosts on your Windows client.

You are prompted for the password at this point. As a security precaution, your password will not be displayed as you type.

Once connected, you will see the Windows command shell prompt:

domain\username@SERVERNAME C:\Users\username>

OpenSSH configuration files

OpenSSH has configuration files for both server and client settings. OpenSSH is open-source and is added to Windows Server and Windows Client operating systems, starting with Windows Server 2019 and Windows 10 (build 1809). As a result, documentation for OpenSSH configuration files is not repeated here. Client configuration files and can be found on the ssh_config manual page and for OpenSSH Server configuration files can be found on the sshd_config manual page. Further Windows-specific OpenSSH Server configuration is detailed in OpenSSH Server configuration for Windows.

In Windows, the OpenSSH Client (ssh) reads configuration data from a configuration file in the following order:

  1. By launching ssh.exe with the -F parameter, specifying a path to a configuration file and an entry name from that file.
  2. A user’s configuration file at %userprofile%\.ssh\config.
  3. The system-wide configuration file at %programdata%\ssh\ssh_config.

Open SSH Server (sshd) reads configuration data from %programdata%\ssh\sshd_config by default, or a different configuration file may be specified by launching sshd.exe with the -f parameter. If the file is absent, sshd generates one with the default configuration when the service is started.

Uninstall OpenSSH using Windows Settings

To uninstall OpenSSH using Windows Settings:

Open Settings, then go to Apps
Apps & Features.

Go to Optional Features.

In the list, select OpenSSH Client or OpenSSH Server.

Select Uninstall.

Uninstall OpenSSH using PowerShell

To uninstall the OpenSSH components using PowerShell, use the following commands:

# Uninstall the OpenSSH Client
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Uninstall the OpenSSH Server
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

You may need to restart Windows afterwards if the service was in use at the time it was uninstalled.

Check certificate with certutil

Certutil -verify -urlfetch cert_filename

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

При попытке подключения к, казалось бы, известному хосту можно получить ошибку

ssh user@host

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The ED25519 host key for host has changed,
and the key for the corresponding IP address 12.123.123.123
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:pEhSoIzdqkEiaBE/pBc4ttgVJtohNCZDcoqNSuNDa94.
Please contact your system administrator.
Add correct host key in C:\\Users\\Andrei/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in C:\\Users\\Andrei/.ssh/known_hosts:8
ED25519 host key for host has changed and you have requested strict checking.
Host key verification failed.

Из строки

Offending ED25519 key in C:\\Users\\Andrei/.ssh/known_hosts:8

Можно понять, что проблема вызвана третьей строкой файла /home/user/.ssh/known_hosts

Если вы уверены в надёжности хоста к которому подключаетесь, то можете просто удалить эту строку и подключиться снова

Например из

Git Bash

sed -i 8d /c/Users/Andrei/.ssh/known_hosts

sed -i 8d /c/Users/$USERNAME/.ssh/known_hosts

Другие статьи про SSH

Как подключиться к серверу по SSH из Windows
Автоматическая SSH-авторизация по ключу
Настройка подключения при помощи VS Code
Что такое SSH

Автор статьи: Андрей Олегович

Похожие статьи

Windows
Windows Firewall
pstools
Удалённый рабочий стол
SSH в Linux

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как вернуть стандартные обои windows 10
  • Birthday программа напоминалка для windows 10
  • Слетает фон рабочего стола windows 7 что делать
  • Активатор windows 10 pro x64 2022
  • 0x00000050 windows xp что за ошибка