Краткий ответ
Чтобы подключиться к Linux VDS, выполните в терминале ssh пользователь@ip-сервера. В Linux, macOS и актуальных версиях Windows клиент OpenSSH уже есть; при первом подключении вы подтверждаете host-ключ сервера, затем входите по паролю или SSH-ключу.
Если IP сервера 203.0.113.10, а пользователь root, команда выглядит так: ssh [email protected]. На Ubuntu, Debian, AlmaLinux и Rocky Linux шаги одинаковые. VDS с Windows Server управляются через удалённый рабочий стол (RDP).
Что нужно для подключения по SSH?
Перед подключением проверьте, что у вас есть:
- Публичный IPv4-адрес сервера (или IPv6, если подключаетесь по IPv6)
- Имя пользователя: на свежей установке обычно root; в некоторых образах есть отдельный пользователь, например ubuntu
- Пароль или SSH-ключ, заранее добавленный на сервер
- Порт SSH: по умолчанию 22 или тот, на который вы его сменили
- SSH-клиент: команда ssh в Linux и macOS, клиент OpenSSH или PuTTY в Windows 10/11
Как подключиться к VDS по SSH из Linux или macOS?
Откройте терминал и действуйте по порядку:
- Запустите подключение: ssh [email protected]
- Если SSH работает не на 22-м порту, укажите его через -p: ssh -p 2222 [email protected]
- При первом подключении появится вопрос «Are you sure you want to continue connecting (yes/no/[fingerprint])?» — сверьте отпечаток и введите yes
- Введите пароль и нажмите Enter; символы при вводе не отображаются, так и задумано
- Приглашение вида root@имя-сервера:~# означает, что вы вошли; для выхода введите exit
Как подключиться по SSH из Windows?
В Windows 10 (начиная с 1809) и Windows 11 клиент OpenSSH встроен в систему. Откройте PowerShell или Windows Terminal и введите ту же команду, что и в Linux: ssh [email protected]. Если команда не найдена, добавьте «Клиент OpenSSH» в разделе Параметры → Приложения → Дополнительные компоненты.
В PuTTY впишите IP-адрес в поле Host Name, 22 (или свой порт) в поле Port, оставьте тип подключения SSH и нажмите Open. При первом подключении PuTTY спросит, сохранить ли host-ключ; если отпечаток совпадает, нажмите Accept. Затем введите имя пользователя в строке «login as» и пароль.
PuTTY хранит ключи в собственном формате .ppk. Ключ, созданный в OpenSSH, нужно импортировать в PuTTYgen и сохранить как .ppk.
Что значит предупреждение о host-ключе при первом подключении?
SSH узнаёт сервер по его host-ключу. При первом подключении отпечаток ключа записывается в файл known_hosts на вашем компьютере, и при следующих подключениях ожидается тот же ключ. Так вы не отправите пароль подставному серверу, оказавшемуся посередине.
После переустановки сервера (смена ОС или reinstall) host-ключ меняется, и SSH обрывает соединение с сообщением «WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!». Если причина вам известна, удалите старую запись командой ssh-keygen -R 203.0.113.10 и подключитесь снова. Если нет, сначала уточните ситуацию у провайдера.
Как входить по SSH-ключу вместо пароля?
Вход по ключу почти обесценивает атаки перебором паролей и избавляет от ввода пароля при каждом подключении. Закрытый ключ (id_ed25519) остаётся на вашем компьютере, на сервер попадает только открытый ключ .pub. Настройка в три шага:
- Создайте пару ключей: ssh-keygen -t ed25519 -C "laptop-2026". Если задать passphrase, украденный файл ключа сам по себе бесполезен.
- Скопируйте открытый ключ на сервер. В Linux и macOS: ssh-copy-id [email protected]. В Windows PowerShell: type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
- Проверьте в новом окне терминала: ssh [email protected]. Если пароль не запрашивается, ключ работает.
Безопасно ли отключать вход по паролю?
Когда вход по ключу работает, вход по паролю можно отключить. Укажите PasswordAuthentication no в /etc/ssh/sshd_config и перезапустите службу SSH: systemctl restart ssh в Ubuntu и Debian, systemctl restart sshd в AlmaLinux и Rocky Linux.
В Ubuntu файлы из /etc/ssh/sshd_config.d/ могут переопределять основной файл, поэтому проверьте этот параметр и там. Не закрывайте текущую сессию, пока меняете настройки, и проверьте вход из второго окна. Если что-то настроено неверно, первая сессия останется открытой и вы всё исправите.
Как сократить команду подключения через ~/.ssh/config?
Если серверов несколько, не нужно каждый раз вводить IP, порт и пользователя: сохраните их под псевдонимом в ~/.ssh/config. В Windows файл лежит в C:\Users\<пользователь>\.ssh\config. С записью ниже достаточно ввести ssh weserver-vds; псевдоним работает и в инструментах поверх SSH, например scp и rsync:
- Host weserver-vds
- HostName 203.0.113.10
- User root
- Port 22
- IdentityFile ~/.ssh/id_ed25519
Как исправить ошибки подключения по SSH?
Если подключиться не удаётся, сначала получите подробный вывод: ssh -v [email protected]. Сообщение об ошибке обычно подсказывает, на каком уровне проблема:
- Connection timed out: пакеты не доходят до сервера. Проверьте IP-адрес, что сервер включён и что его фаервол (ufw, firewalld) не блокирует порт SSH.
- Connection refused: сервер доступен, но на этом порту никто не слушает. Служба SSH остановлена или порт изменён; укажите правильный порт через -p и проверьте службу командой systemctl status ssh (в дистрибутивах на базе RHEL — sshd).
- Permission denied (publickey): вход по паролю на сервере отключён, а ваш ключ он не знает. Проверьте имя пользователя, наличие открытого ключа в authorized_keys и права доступа (700 для ~/.ssh, 600 для authorized_keys). Чтобы указать конкретный ключ, используйте ssh -i ~/.ssh/id_ed25519.
- Permission denied, please try again: неверный пароль или вход root по паролю запрещён (параметр PermitRootLogin). Убедитесь, что при копировании не добавился пробел в конце.
- REMOTE HOST IDENTIFICATION HAS CHANGED: сменился host-ключ. Если вы переустанавливали сервер, удалите старую запись через ssh-keygen -R; если нет, выясните причину до подключения.
Windows Server VDS: подключаться по SSH или по RDP?
На VDS WeServer к Linux-серверам подключаются через root/SSH, к Windows Server — через удалённый рабочий стол (RDP). В Windows откройте приложение «Подключение к удалённому рабочему столу» (mstsc) и введите IP-адрес и данные администратора.
На Windows Server можно установить и компонент OpenSSH Server; некоторые команды используют его рядом с RDP для автоматизации из командной строки или передачи файлов. Тогда порт 22 нужно отдельно открыть в брандмауэре Windows. С фаерволом в Linux та же осторожность: в Ubuntu выполните ufw allow OpenSSH до ufw enable, иначе после закрытия текущей сессии зайти по SSH уже не получится.
Частые вопросы
Повышает ли смена порта SSH безопасность? Она уменьшает шум в логах от автоматических сканеров, но сама по себе не защищает. Реальную разницу даёт вход по ключу с отключённым входом по паролю.
Опасно ли подключаться под root? Root выполняет любые команды без ограничений. Безопаснее завести отдельного пользователя с правами sudo для повседневной работы и запретить прямой вход под root (PermitRootLogin no).
Что будет, если я потеряю SSH-ключ? Закрытый ключ есть только на вашем компьютере, восстановить его нельзя. Если вход по паролю отключён, придётся получить доступ к серверу другим путём и добавить новый открытый ключ, поэтому храните надёжную резервную копию ключа.
Можно ли подключиться по SSH с телефона? Да, для iOS и Android есть SSH-клиенты. IP, пользователь и порт те же; если используете ключ, его нужно импортировать в приложение.
Почему соединение обрывается при простое? Сетевые устройства по пути могут закрывать соединения, по которым долго не идут данные. Строка ServerAliveInterval 60 в ~/.ssh/config заставляет клиент регулярно отправлять keep-alive, и сессия не рвётся.
