Подключение к удалённому серверу по SSH из Windows (CMD, PowerShell, WSL, PuTTY)

Гайд по SSH-клиентам в Windows: используем встроенную команду `ssh` в PowerShell/CMD (Windows 10/11), полноценный Linux-терминал через WSL или классический PuTTY. Примеры команд для подключения, отправки скриптов и использования sudo без tty.

В современных версиях Windows (10/11) SSH-клиент уже встроен в систему, поэтому сторонние программы вроде PuTTY нужны всё реже. Разберём все способы подключения: от нативного терминала до Linux-подсистемы (WSL).


Способ 1. Встроенный OpenSSH (Windows 10/11)

Самый быстрый способ, работающий "из коробки" в CMD или PowerShell. Если команда ssh не найдена, её легко включить.

Установка клиента OpenSSH

  1. Откройте ПараметрыПриложенияДополнительные компоненты.
  2. Найдите в списке Клиент OpenSSH. Если нет — нажмите "Добавить компонент" и установите его.
  3. Либо через PowerShell (от админа):
    Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
    

Подключение

Откройте PowerShell или CMD (Win+Rcmd) и введите:

ssh username@ip-address
# Пример:
ssh root@192.168.1.50

Если порт нестандартный (не 22), используйте флаг -p:

ssh username@ip-address -p 2222

Способ 2. WSL (Linux внутри Windows)

Если вы привыкли к bash, grep, awk и другим Linux-утилитам, лучше использовать WSL (Windows Subsystem for Linux). Это полноценный Ubuntu/Debian прямо в Windows.

Установка WSL

В PowerShell (от админа) выполните:

wsl --install

После перезагрузки у вас появится приложение Ubuntu, где работает стандартная команда ssh (как в Linux).

Преимущество WSL — можно использовать SSH-ключи в привычной папке ~/.ssh/ и легко пробрасывать их через ssh-agent.


Способ 3. PuTTY (для Windows 7/8/XP)

Для старых версий Windows (или если нужен графический интерфейс для сохранения сессий) стандартом остаётся PuTTY.

  1. Скачайте putty.exe с официального сайта.
  2. В поле Host Name введите IP сервера.
  3. Убедитесь, что Connection type = SSH.
  4. Нажмите Open.

При первом подключении PuTTY спросит, доверяете ли вы этому серверу — нажмите Accept.


Полезные фишки SSH в Windows

Выполнение команд без входа в консоль

Можно отправить команду на сервер и сразу получить результат, не открывая сессию:

# Узнать аптайм сервера
ssh user@192.168.1.50 uptime

# Выполнить несколько команд (в кавычках)
ssh user@192.168.1.50 "cd /var/www; ls -la"

Использование sudo (ошибка "no tty")

Если вы пытаетесь выполнить команду с sudo удалённо:

ssh user@ip "sudo apt update"

Вы можете получить ошибку sudo: no tty present. Решение — добавить флаг -t (force pseudo-terminal):

ssh user@ip -t "sudo apt update"

Как выйти

Чтобы завершить сессию, просто введите команду:

exit

Или нажмите Ctrl + D.

Read more

Включение/отключение Windows ПК через Home Assistant (Wake-on-LAN + RPC Shutdown)

Создаём единый переключатель в Home Assistant для управления Windows-компьютером. Включение через стандартный Wake-on-LAN, выключение через аддон RPC Shutdown. Инструкция по правке реестра Windows для удалённого выключения.

By Evgeny Shmelev