← К вики

Подключение по SSH

Как подключиться к серверу по SSH с Linux, macOS и Windows.

Время: 5 мин · Сложность: ★☆☆☆☆

Подходит: ✓ Ubuntu 22.04 · ✓ Debian 12 · ✓ AlmaLinux 9


Краткое описание

SSH (Secure Shell) — протокол для безопасного удалённого управления сервером. Все данные передаются в зашифрованном виде: пароли, команды, вывод терминала.

После создания VPS на Cheesecake Cloud вы получаете IP-адрес и root-пароль. SSH — основной способ попасть на сервер и настроить его.


Когда пригодится

  • Управление сервером: установка пакетов, настройка сервисов, редактирование конфигов
  • Перенос файлов через scp или rsync
  • Создание зашифрованных туннелей для баз данных, внутренних сервисов
  • Запуск скриптов и cron-задач

Что понадобится

  • IP-адрес сервера (выдаётся в панели управления после создания VPS)
  • Пароль root или SSH-ключ
  • SSH-клиент: встроен в Linux, macOS и Windows 10/11; на старых версиях Windows — PuTTY

Пошаговая инструкция

1. Подключение с Linux или macOS

Откройте терминал и выполните:

ssh root@203.0.113.10

При первом подключении терминал спросит подтвердить ключ сервера:

The authenticity of host '203.0.113.10' can't be established.
ED25519 key fingerprint is SHA256:abc123...
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Введите yes и нажмите Enter. Введите пароль root.

Если SSH-сервер слушает нестандартный порт, укажите его флагом -p:

ssh -p 2222 root@203.0.113.10

2. Подключение с Windows

Windows Terminal (встроенный SSH, Windows 10/11)

Откройте PowerShell или командную строку и выполните ту же команду:

ssh root@203.0.113.10

PuTTY (альтернатива)

  1. Скачайте PuTTY с putty.org.
  2. В поле Host Name введите 203.0.113.10, порт 22, тип соединения SSH.
  3. Нажмите Open, введите логин root и пароль.

3. Подключение по SSH-ключу

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

Сгенерируйте ключ на своём компьютере (если ещё нет):

ssh-keygen -t ed25519 -C "my-server-key"

Нажмите Enter три раза, чтобы принять путь по умолчанию и не ставить passphrase. Ключи сохранятся в ~/.ssh/id_ed25519 (приватный) и ~/.ssh/id_ed25519.pub (публичный).

Скопируйте публичный ключ на сервер:

ssh-copy-id root@203.0.113.10

Введите пароль root — команда добавит ваш ключ в ~/.ssh/authorized_keys на сервере.

Подключитесь без пароля:

ssh root@203.0.113.10

На Windows используйте PowerShell вместо ssh-copy-id:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@203.0.113.10 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

4. Первые шаги после входа

Убедитесь, что вы на нужном сервере:

whoami

Вывод: root

hostname && uptime

Если система только что создана, смените пароль root:

passwd

Введите новый пароль дважды.


Проверка результата

После успешного подключения вы увидите приглашение командной строки:

root@hostname:~#

Это означает, что вы подключены и работаете с правами root.


Возможные ошибки

ssh: connect to host 203.0.113.10 port 22: Connection refused

SSH-сервис не запущен или порт 22 закрыт файрволом. Проверьте статус сервиса через VNC-консоль в панели управления:

systemctl status sshd

Если сервис остановлен, запустите его:

systemctl start sshd

Permission denied (publickey,password)

Три причины: неверный пароль, вход по паролю отключён на сервере, или указан не тот ключ. Проверьте, какой ключ используется:

ssh -v root@203.0.113.10

В выводе будет строка Offering public key: — убедитесь, что этот ключ есть в ~/.ssh/authorized_keys на сервере.


WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

Сервер пересоздан или сменился IP. Удалите старый ключ из known_hosts:

ssh-keygen -R 203.0.113.10

После этого подключитесь заново и подтвердите новый ключ.


Подключение зависает, нет ответа

Файрвол блокирует порт 22. Проверьте правила на сервере через VNC-консоль:

iptables -L INPUT -n | grep 22

Или через ufw:

ufw status

Откройте порт, если он закрыт:

ufw allow 22/tcp

FAQ

Как выйти из SSH-сессии?

Введите exit или нажмите Ctrl+D.

Как передать файл на сервер?

Используйте scp:

scp /path/to/file.txt root@203.0.113.10:/root/

Или для директории:

scp -r /path/to/dir root@203.0.113.10:/root/

Как сменить стандартный порт SSH?

Откройте /etc/ssh/sshd_config и измените строку Port:

sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
systemctl restart sshd

Откройте новый порт в файрволе до перезапуска, иначе потеряете доступ.

Что делать, если забыл пароль root?

Войдите через VNC-консоль в панели управления Cheesecake Cloud — она работает напрямую, без SSH. Смените пароль командой passwd прямо там.


Полезные ссылки

  • man ssh — полная документация SSH-клиента
  • man ssh_config — все параметры конфигурационного файла ~/.ssh/config
  • man scp — копирование файлов по SSH

Следующие статьи

Сейчас работают только те cookie, без которых сайт не откроется. Разрешите ещё аналитические — будем видеть, где интерфейс мешает, и чинить это.