Чтобы удалённо управлять сервером или рабочим столом на Ubuntu с компьютера под Windows, достаточно настроить SSH-соединение. Это безопасный и надёжный способ подключения к Linux-машине через командную строку. В большинстве случаев процесс занимает 5–10 минут: устанавливаете SSH-сервер на Ubuntu, включаете его, а затем подключаетесь с через PuTTY, OpenSSH или Windows Terminal. Далее разберём все этапы подробно — от настройки до проверки соединения.
Если вы никогда не работали с SSH, не переживайте: инструкция подойдёт и для новичков. Мы рассмотрим три способа подключения — с помощью сторонних клиентов (PuTTY), встроенного OpenSSH в Windows 10/11 и через Windows Subsystem for Linux (WSL). Каждый вариант имеет свои плюсы, и вы сможете выбрать подходящий.
Зачем нужен и что он даёт
SSH (Secure Shell) — это протокол для безопасного удалённого управления серверами и устройствами. Он шифрует весь трафик между клиентом и сервером, что защищает от перехвата данных. С помощью вы можете:
- Управлять Ubuntu с Windows без графического интерфейса — выполнять команды, устанавливать программы, настраивать систему;
- Передавать файлы между устройствами через
SCPилиSFTP; - Настраивать серверы удалённо, не подходя к ним физически;
- Автоматизировать задачи с помощью скриптов.
Без при работе с сервером пришлось бы использовать менее защищённые методы, например, Telnet (не шифрует данные) или графические инструменты вроде VNC (требуют больше ресурсов).
Если вы работаете в корпоративной сети, уточните у администратора, не блокируется ли порт 22 (стандартный для SSH) — иногда его закрывают в целях безопасности.
| Команда | Описание | Результат |
|---|---|---|
sudo apt install openssh-server | Установка SSH-сервера | Устанавливает пакет openssh-server и зависимости |
sudo systemctl enable --now ssh | Запуск и автозагрузка | Сервер запускается и добавляется в автозагрузку |
sudo ufw allow 22 | Открытие порта | Разрешает подключения на порту 22 |
Настройка SSH-сервера на Ubuntu
Прежде чем подключаться с Windows, нужно установить и запустить SSH-сервер на Ubuntu. В большинстве случаев он не устанавливается по умолчанию, поэтому делаем это вручную.
Шаг 1. Установка OpenSSH-сервера
Откройте терминал на Ubuntu (Ctrl+Alt+T) и выполните команду:
sudo apt update && sudo apt install openssh-server
Система обновит списки пакетов и установит openssh-server. После завершения установки сервер будет готов к запуску.
Шаг 2. Запуск и включение автозагрузки
Включите сервис и добавьте его в автозагрузку, чтобы он запускался при старте системы:
sudo systemctl enable --now ssh
Проверьте статус сервера командой:
sudo systemctl status ssh
Если всё работает, вы увидите строку active (running). Если нет — перезапустите сервис: sudo systemctl restart ssh.
Шаг 3. Проверка firewall
По умолчанию Ubuntu использует ufw (Uncomplicated Firewall). Убедитесь, что порт 22 открыт:
sudo ufw allow ssh
Или явно:
sudo ufw allow 22/tcp
Проверьте список разрешённых правил:
sudo ufw status
Способы подключения к с Windows
Теперь, когда SSH-сервер работает на Ubuntu, можно подключаться с Windows. Рассмотрим три основных способа: через PuTTY, встроенный OpenSSH и Windows Terminal.
Способ 1: PuTTY (универсальный клиент)
PuTTY — бесплатный и простой SSH-клиент для Windows. Скачайте его с официального сайта (например, putty-64bit-0.78-installer.msi) и установите.
После установки:
- Запустите PuTTY;
- В поле
Host Name (or IP address)введите IP-адрес вашей Ubuntu-машины; - Убедитесь, что порт указан как
22(по умолчанию); - Нажмите
Open; - Введите логин и пароль от Ubuntu (они не отобразятся при вводе — это нормально).
Если подключение прошло успешно, вы увидите командную строку Ubuntu.
Способ 2: OpenSSH в Windows Terminal
В Windows 10 и Windows 11 есть встроенный SSH-клиент. Чтобы им воспользоваться:
- Откройте
Командную строку(Win + R→cmd) или Windows Terminal; - Введите команду:
ssh username@ip_адрес, гдеusername— ваше имя пользователя на Ubuntu, аip_адрес— сервера; - Подтвердите подключение (при первом подключении появится запрос о добавлении хоста в известные — введите
yes); - Введите пароль.
Если вы получаете ошибку ssh: command not found, значит, не установлен. Включите его через Параметры → Приложения → Дополнительные компоненты → OpenSSH Client.
Способ 3: Windows Subsystem for Linux (WSL)
Если у вас установлен WSL (например, Ubuntu из Microsoft Store), вы можете использовать его терминал для подключения:
- Откройте терминал WSL;
- Введите
ssh username@ip_адрес; - Подтвердите подключение и введите пароль.
Преимущество этого способа — вы работаете в привычной Linux-среде, но с Windows.
Решение типичных проблем при подключении
Даже если вы всё сделали по инструкции, могут возникнуть ошибки. Рассмотрим самые частые:
- Ошибка "Connection refused" — обычно означает, что SSH-сервер не запущен на Ubuntu. Проверьте:
sudo systemctl status ssh. Если не работает, перезапустите:sudo systemctl restart ssh. - Ошибка "Permission denied" — неверный логин или пароль. Убедитесь, что вы используете правильные данные. Если пароль содержит специальные символы, попробуйте сменить его на простой временно.
- Ошибка "Network is unreachable" — проблемы с сетью. Проверьте, что и находятся в одной сети (или что IP-адрес верный, если подключаетесь через интернет). Для проверки испальзуйте
ping ip_адрес. - Ошибка "Host key verification failed" — возможно, IP-адрес сервера изменился, и у вас остался старый ключ в кэше. Удалите его командой:
ssh-keygen -R ip_адрес.
Если ничего не помогает, проверьте, не блокирует ли антивирус или брандмауэр порт 22. В крайнем случае можно временно отключить для проверки.
Сравнение методов подключения: что выбрать
Каждый способ подключения имеет свои плюсы и минусы. Выбор зависит от ваших задач и удобства.
| Метод | Плюсы | Минусы |
|---|---|---|
| PuTTY | Простой интерфейс, поддерживает сохранение сессий, работает на старых версиях Windows | Нужно скачивать и устанавливать отдельно |
| OpenSSH (Windows Terminal) | Встроен в Windows 10/11, не требует установки, поддерживает ключи аутентификации | Нет графического интерфейса, может отсутствовать на старых версиях Windows |
| WSL | Полноценная Linux-среда, удобно для работы с Linux-командами | Требует установки WSL, больше потребляет ресурсов |
Безопасность: как защитить SSH-соединение
SSH сам по себе безопасен, но есть способы сделать его ещё надёжнее. Вот основные рекомендации:
1. Отключите вход по паролю
Используйте аутентификацию по SSH-ключам вместо паролей. Это защищает от брутфорс-атак. Для этого:
- Сгенерируйте ключ на Windows:
ssh-keygen -t ed25519(или-t rsa -b 4096для старого формата); - Скопируйте публичный ключ на Ubuntu:
ssh-copy-id username@ip_адрес(или вручную добавьте содержимое~/.ssh/id_ed25519.pubв~/.ssh/authorized_keysна сервере); - Отключите вход по паролю в конфиге SSH: откройте
/etc/ssh/sshd_configна и измените строки:PasswordAuthentication no
PubkeyAuthentication yes; - Перезапустите SSH-сервер:
sudo systemctl restart ssh.
2. Измените стандартный порт
Многие боты сканируют порт 22. Измените его на нестандартный (например, 2222) в файле /etc/ssh/sshd_config:
Port 2222
Не забудьте открыть новый порт в firewall: sudo ufw allow 2222/tcp.
3. Ограничьте доступ по IP
Если вы знаете, с каких IP-адресов будете подключаться, добавьте в /etc/ssh/sshd_config:
AllowUsers username@192.168.1.100
Это разрешит подключение только с указанного IP.
⚠️ Внимание: Не закрывайте все способы входа, не проверив сначала работоспособность альтернативных методов аутентификации. Иначе рискуете потерять доступ к серверу.
Аутентификация по ключам надёжнее паролей и защищает от majority атак по подбору пароля.
Пошаговая инструкция: подключаемся к с за 5 минут
Если вы хотите быстро попробовать подключиться, следуйте этой инструкции:
- На Ubuntu: Установите SSH-сервер:
sudo apt update && sudo apt install openssh-server; - Запустите и включите автозагрузку:
sudo systemctl enable --now ssh; - Узнайте IP-адрес Ubuntu:
ip a(ищите строку сinetв разделе вашей сети); - На Windows: Откройте
Командную строку; - Введите команду:
ssh username@ip_адрес(заменитеusernameиip_адресна свои данные); - Подтвердите подключение (
yes) и введите пароль.
Если всё прошло успешно, вы увидите приветственное сообщение в терминале.
Чек-лист перед подключением
Часто задаваемые вопросы
Можно ли подключиться к с без пароля?
Да, можно использовать аутентификацию по SSH-ключам. Для этого сгенерируйте пару ключей на Windows (ssh-keygen), скопируйте публичный ключ на Ubuntu (ssh-copy-id), а затем отключите вход по паролю в настройках SSH-сервера.
Почему при подключении вылезает ошибка "Connection timed out"?
Эта ошибка означает, что запрос не доходит до сервера. Возможные причины: неверный IP-адрес, сервер выключен, порт 22 закрыт брандмауэром на или Windows, либо устройства не в одной сети. Проверьте сеть командой ping ip_адрес и настройки firewall.
Как подключиться к через SSH, если она за NAT?
Если находится за роутером, нужно настроить проброс порта (порт-форвардинг) на роутере. Откройте на роутере порт 22 и перенаправьте его на локальный IP-адрес Ubuntu. Также убедитесь, что у вас статический IP (или используйте сервисы вроде No-IP для динамического DNS).
Можно ли подключаться к с через мобильный интернет?
Да, но для этого нужно, чтобы у был внешний (белый) IP-адрес, а не серый (как у большинства домашних роутеров). В противном случае подключение извне будет невозможно. Альтернатива — использовать или сервисы вроде Ngrok для туннелирования.