Что такое SSH и как подключиться к серверу?
SSH (Secure Shell) — это протокол, который даёт командную строку удалённого сервера по зашифрованному соединению. Чтобы подключиться к серверу, откройте терминал на своём компьютере и введите ssh username@IP-address. По умолчанию соединение идёт через TCP-порт 22.
SSH — стандартный способ управлять VPS. Пароли и команды передаются в зашифрованном виде, поэтому пользоваться им через интернет безопасно. Тот же канал передаёт и файлы (scp и sftp).
Что нужно для подключения
Нужны три вещи: IP-адрес сервера, имя пользователя и пароль или SSH-ключ. В панели Seturack откройте Мои серверы и нажмите на свой сервер. На вкладке Обзор есть строки IP-адрес, Имя пользователя и Пароль. На серверах с приложением в один клик на странице вверху есть ещё одна строка Пароль. Она нужна для входа в приложение. Для SSH используйте строку Пароль под строкой Имя пользователя.
Подключение из Windows, macOS и Linux
Откройте терминал: PowerShell в Windows, Terminal в macOS и Linux. Введите команду ниже. Вместо root подставьте значение из строки Имя пользователя, а вместо примера IP — свой адрес:
При первом подключении SSH покажет отпечаток сервера, по которому определяется машина, к которой вы подключаетесь. Введите yes и нажмите Enter. Компьютер запомнит отпечаток и будет сверять его при каждом следующем подключении. Затем вставьте пароль. Пока вы его вводите, на экране ничего не появляется, так и должно быть.
По отпечатку можно проверить, что вы попали именно на свой сервер. Чтобы убедиться, откройте в панели VNC-консоль, выполните на сервере команду ниже и сравните значение, которое начинается с SHA256:, с тем, что показал ваш терминал:
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
В Windows 10 (версия 1809) и новее клиент OpenSSH — необязательный компонент. Если команда ssh не найдена, добавьте OpenSSH Client в разделе «Дополнительные компоненты» в Параметрах. Или выполните это в окне PowerShell, открытом от имени администратора:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Если SSH на сервере слушает другой порт, добавьте -p. Чтобы указать конкретный файл ключа, добавьте -i:
ssh -p 2222 -i ~/.ssh/id_ed25519 [email protected]
После подключения каждая введённая команда выполняется на сервере. whoami покажет, под каким пользователем вы работаете, а exit закроет соединение. Если сеть оборвётся, процессы этого сеанса тоже остановятся. Запускайте долгие задачи внутри tmux, и они продолжат работать при обрыве соединения. Вернуться в сеанс можно командой tmux attach.
Передача файлов и короткий путь
Тем же соединением можно копировать файлы: с компьютера на сервер и с сервера обратно на компьютер:
scp backup.zip [email protected]:/root/
scp [email protected]:/root/backup.zip .
Чтобы не вводить IP каждый раз, добавьте эти три строки в файл ~/.ssh/config на своём компьютере:
Host myserver
HostName 203.0.113.5
User root
После этого хватит команды ssh myserver.
SSH-ключ вместо пароля
Вход по ключу исключает риск подбора пароля, но только если вход по паролю тоже отключён: добавление ключа само его не отключает. Ключ состоит из двух частей: закрытый ключ остаётся на вашем компьютере, а открытый ключ кладётся на сервер. Сервер пускает только тех, кто докажет, что владеет закрытым ключом. Создайте пару на своём компьютере. В Windows PowerShell команда такая же:
ssh-keygen -t ed25519
Он запросит парольную фразу, не оставляйте её пустой. Создаются два файла: id_ed25519 — закрытый ключ, его нельзя никому передавать. id_ed25519.pub — открытый ключ. Добавить открытый ключ на сервер можно двумя способами:
- В панели вставьте содержимое файла
.pubв инструмент SSH-ключи на вкладке Управление. Ключ заработает при следующей загрузке сервера. - В Linux и macOS, если вы уже можете войти по паролю:
ssh-copy-id [email protected]
После этого та же команда ssh подключает без запроса пароля сервера. Если вы задали парольную фразу, спросят её. Отключение входа по паролю — отдельная настройка SSH, и порядок шагов важен, иначе вы можете закрыть себе доступ. Мы разбираем это в шаге 4 статьи «Первые 10 шагов безопасности на новом VPS».
Типичные ошибки
| Сообщение | Что он означает | Что сделать |
|---|---|---|
| Permission denied | Неверное имя пользователя или пароль либо ключ не зарегистрирован. | Скопируйте и вставьте значения Имя пользователя и Пароль из панели. Если вы используете ключ, убедитесь, что после его добавления сервер перезапускался. |
| Connection refused | На сервере не запущена служба SSH или порт закрыт. | Проверьте, что сервер включён. Из VNC-консоли попробуйте systemctl start ssh. |
| Connection timed out | Ваш запрос не доходит до сервера: неверный IP, сервер выключен или брандмауэр блокирует порт 22. | Проверьте IP и состояние сервера, посмотрите правила брандмауэра и попробуйте из другой сети. |
| Too many authentication failures | Ваш SSH-агент предложил несколько ключей, и сервер достиг лимита попыток. | Предложите только нужный ключ: ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 [email protected] |
| REMOTE HOST IDENTIFICATION HAS CHANGED | Отпечаток сервера по этому IP изменился. Если вы переустанавливали сервер, это ожидаемо. | Если вы ждали этого изменения, удалите старую запись командой ssh-keygen -R 203.0.113.5. Если нет — не подключайтесь. |
Если несколько раз подряд ввести неверный пароль, fail2ban (он работает на серверах с приложениями в один клик) на какое-то время блокирует ваш IP-адрес. В этот период соединение может завершаться по тайм-ауту. Подождите немного или попробуйте из другой сети.
Если подключиться совсем не получается
- VNC-консоль: инструмент на вкладке Управление открывает экран сервера в браузере. Он не зависит от SSH, поэтому оттуда можно проверить службу.
- Если вы забыли пароль: воспользуйтесь инструментом Сбросить пароль root на вкладке Управление.
Шаги в панели подробно описаны в справочной статье про SSH.
Комментарии0
Комментариев пока нет
Поделитесь своим мнением первым.
Пожалуйста, войдите или зарегистрируйтесь, чтобы оставить комментарий.