SSH предоставляет вам root-оболочку на облачном сервере из вашего собственного терминала, и все детали, необходимые для подключения, отображаются на странице сервера в KPanel, готовые к копированию.
Облачный сервер принадлежит вам полностью, начиная с операционной системы, что означает, что командная строка является местом, где происходит большая часть работы. Это руководство охватывает поиск данных для подключения, подключение с использованием ключа или пароля, правильную настройку ключа, резервную консоль браузера и несколько ошибок, которые являются причиной почти каждого неудачного подключения.
Поиск данных для подключения
- Войдите в KPanel.
- Нажмите Облачные серверы на левой боковой панели, затем нажмите на ваш сервер.
- Найдите карточку 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 ключ в то же время. Пароль, отправленный по электронной почте, прошел через большее расстояние, чем должны пройти учетные данные.
Консоль браузера
Консоль браузера предоставляет вам терминал внутри KPanel без SSH клиента и без прохождения через порт 22. Это инструмент для момента, когда ваш собственный доступ является тем, что сломалось.
- Откройте страницу сервера и нажмите Browser console в кнопках действия или перейдите на
/cloud-servers/<server-id>/console. - Нажмите Start console. KPanel запускает терминал на сервере через HTTPS с одноразовыми учетными данными.
- Username и Password отображаются на странице с кнопкой Copy credentials. Терминал открывается в самой странице, и ваш браузер может запросить у вас эти учетные данные.
- Работайте как в любой другой оболочке.
Сеансы консоли автоматически прекращаются после 30 минут. Запуск нового сеанса выдает свежие учетные данные, поэтому ничто не остается прослушивающим после того, как вы закончите. Консоль браузера также требует настроенного домена с HTTPS на сервере, что означает приложение, установленное через панель. На голом сервере консоль сообщит об этом, а не отключится молча.
Используйте консоль, чтобы отменить правило брандмауэра, которое вас заблокировало, сбросить пароль или восстановить конфигурацию sshd. После того как вы вернетесь в обычное подключение SSH, она больше не понадобится.
Сохранение безопасности доступа SSH
Порт 22 всегда открыт на брандмауэре сервера KapsuleHost по умолчанию, поэтому изменение брандмауэра никогда не сможет полностью лишить вас доступа к машине.
Это означает, что безопасность вашей оболочки зависит от того, как вы аутентифицируетесь, а не от скрытия порта. Два предмета выполняют большую часть работы:
- Используйте ключи, а не пароли. Тогда угаданный пароль не является способом для входа.
- Оставьте 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 остается открытым, поэтому это необычно, но если правило внутри сервера вас заблокировало, используйте консоль браузера, чтобы удалить его.
Если ни один из вышеперечисленных вариантов не дает вам доступ к оболочке, отправьте письмо на support@kapsulehost.com с указанием имени сервера, адреса, с которого вы подключаетесь, и точного текста ошибки.