Подключение к удалённому серверу по 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
- Откройте Параметры → Приложения → Дополнительные компоненты.
- Найдите в списке Клиент OpenSSH. Если нет — нажмите "Добавить компонент" и установите его.
- Либо через PowerShell (от админа):
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Подключение
Откройте PowerShell или CMD (Win+R → cmd) и введите:
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.
- Скачайте
putty.exeс официального сайта. - В поле Host Name введите IP сервера.
- Убедитесь, что Connection type = SSH.
- Нажмите 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.