Облачные серверы
Подключение к облачному серверу с использованием SSH
SSH gives you a root shell on your cloud server from your own terminal, and every detail you need to connect is shown on the server's page in KPanel, ready to copy.
SSH предоставляет вам root-shell на облачном сервере прямо из вашего терминала, и все детали подключения отображаются на странице сервера в KPanel, готовые к копированию.
Облачный сервер находится полностью под вашим контролем начиная с операционной системы, что означает, что большая часть работы происходит в командной строке. Это руководство охватывает поиск данных подключения, подключение с помощью ключа или пароля, правильную настройку ключа, резервный вариант браузерной консоли и небольшой набор ошибок, которые объясняют почти каждый неудачный попыток подключения.
Поиск данных подключения
- Войдите в KPanel.
- В левой боковой панели нажмите Cloud Servers, а затем нажмите свой сервер.
- Найдите карточку Connection.
Карточка содержит три поля для копирования в буфер обмена:
| Поле | Описание |
|---|---|
| SSH Command | Полная команда, готовая к вставке в терминал |
| IPv4 Address | Публичный IPv4-адрес сервера |
| IPv6 Address | IPv6-адрес сервера, отображается при наличии |

Если карточка гласит "IP address will appear here once provisioning is complete", сервер всё ещё строится. Подготовка облачного сервера занимает примерно шестьдесят секунд, и страница обновляется автоматически по завершении.
Подключение с помощью SSH-ключа
Если вы вставили открытый ключ в поле SSH Public Key при заказе сервера, аутентификация по ключу уже настроена и пароль вводить не нужно.
- Скопируйте SSH Command из карточки Connection.
- Вставьте его в терминал и нажмите Enter.
ssh root@203.0.113.1
Ваш SSH-клиент находит соответствующий приватный ключ и проводит аутентификацию автоматически. Если ваш ключ находится в нестандартном месте, укажите его явно:
ssh -i ~/.ssh/my-kapsule-key root@203.0.113.1
Ключи одновременно удобнее и безопаснее паролей. Нечего запоминать, нечего вводить в фишинговую подсказку, и нечего для автоматического взлома паролем. Если вы всё ещё используете пароль, создание ключа и его добавление займёт около двух минут.
Первичная настройка ключа
Создайте пару ключей на своей машине, а не на сервере:
ssh-keygen -t ed25519 -C "your-email@example.com"
Нажмите Enter для принятия расположения по умолчанию и установите парольную фразу при появлении запроса. Теперь у вас есть два файла:
~/.ssh/id_ed25519это ваш приватный ключ. Он никогда не покидает вашу машину, и вы его никогда никуда не вставляете.~/.ssh/id_ed25519.pubэто ваш открытый ключ. Это тот, который вы отправляете серверам.
Выведите открытый ключ и скопируйте всю одну строку, включая префикс ssh-ed25519 и завершающий комментарий:
cat ~/.ssh/id_ed25519.pub
При заказе сервера вставьте эту строку в поле SSH Public Key. Подсказка самого поля ясно говорит об этом: "Paste your public key to enable key-based authentication. If left blank, a root password will be emailed to you."
Никогда не вставляйте содержимое файла без .pub в конце. Это ваш приватный ключ, и любой, кто его имеет, может войти как вы на каждом сервере, который ему доверяет. Если вы когда-нибудь случайно поделитесь приватным ключом, создайте новую пару и немедленно замените открытый ключ везде.
Чтобы добавить ключ на сервер, на котором вы уже работаете, подключитесь так, как можете сегодня, и добавьте строку открытого ключа в /root/.ssh/authorized_keys.
Подключение с помощью пароля
Если вы оставили поле SSH Public Key пустым при заказе, root-пароль отправляется вам по электронной почте после подготовки сервера.
- Скопируйте SSH Command из карточки Connection.
- Вставьте его в терминал и нажмите Enter.
- Введите отправленный по электронной почте root-пароль при появлении запроса.
Измените этот пароль как можно скорее после входа с помощью passwd и добавьте SSH-ключ в то же время. Отправленный по электронной почте пароль прошёл дальше, чем должны проходить учётные данные.
Браузерная консоль
Browser console предоставляет вам терминал внутри KPanel без SSH-клиента и без подключения через порт 22. Это инструмент для момента, когда ваш собственный доступ это то, что сломалось.
- Откройте страницу сервера и нажмите Browser console в кнопках действий, или перейдите по адресу
/cloud-servers/<server-id>/console. - Нажмите Start console. KPanel запускает терминал на сервере через HTTPS с одноразовыми учётными данными.
- Username и Password отображаются на странице с кнопкой Copy credentials. Терминал открывается на самой странице, и браузер может запросить у вас эти учётные данные.
- Работайте так, как вы бы работали в любой shell.
Сеансы консоли останавливаются автоматически через 30 минут. Запуск нового сеанса выдаёт свежие учётные данные, поэтому ничего не остаётся прослушиваемым после того, как вы закончите. Браузерная консоль также требует настроенного домена с HTTPS на сервере, что означает приложение, установленное через панель. На голом сервере консоль вам об этом сообщит вместо молчаливого отказа.
Используйте консоль для отмены правила брандмауэра, которое вас заблокировало, сброса пароля или восстановления конфигурации sshd. Как только вы снова войдёте через SSH нормально, она вам больше не понадобится.
Обеспечение безопасности SSH-доступа
Порт 22 всегда открыт в брандмауэре KapsuleHost сервера по умолчанию, поэтому изменение брандмауэра никогда не сможет полностью заблокировать вам доступ к машине.
Это означает, что безопасность вашей shell зависит от того, как вы проводите аутентификацию, а не от скрытия порта. Два фактора делают большую часть работы:
- Используйте ключи, а не пароли. Тогда угаданный пароль не является способом входа.
- Оставляйте fail2ban включённым. Он включен по умолчанию и блокирует адреса, которые повторно не проходят аутентификацию SSH. Вы можете увидеть переключатель на странице Management сервера.
Cloud Server Firewall and Security Management охватывает обе проблемы, плюс пользовательские правила для портов, которые нужны вашему приложению.
Устранение проблем
"Connection refused." Ничто не слушает. Проверьте, что сервер показывает Running в KPanel, включите его, если он выключен, и используйте браузерную консоль, чтобы проверить, запущен ли sshd.
"Connection timed out." Трафик не поступает. Убедитесь, что вы используете IPv4-адрес из карточки Connection, и проверьте, не блокирует ли ваша сеть исходящий трафик на порту 22. Корпоративная или университетская сеть иногда это делает.
"Permission denied (publickey)." Сервер не распознаёт ваш ключ. Убедитесь, что вы вставили строку .pub полностью и без изменений, и что ваш клиент предлагает соответствующий приватный ключ. Добавьте -v к команде ssh, чтобы увидеть, какие ключи он пытался использовать.
"Permission denied, please try again" при использовании пароля. Пароль неправильный, или аутентификация по паролю отключена, потому что вы указали ключ. Используйте ключ или браузерную консоль.
"REMOTE HOST IDENTIFICATION HAS CHANGED." Хост-ключ сервера отличается от того, который запомнил ваш клиент. Это ожидается после перестроения, поскольку операционная система была переустановлена. Удалите устаревшую запись для этого IP-адреса из файла known_hosts и переподключитесь. Если вы ничего не перестраивали, остановитесь и свяжитесь с нами перед подключением.
Я заблокировал себя правилом брандмауэра. Порт 22 остаётся открытым, поэтому это необычно, но если правило внутри сервера вас заблокировало, используйте браузерную консоль для его удаления.
Если ничто из вышеперечисленного не даёт вам shell, отправьте письмо на адрес support@kapsulehost.com с указанием имени сервера, адреса, с которого вы подключаетесь, и точного текста ошибки.