
Что такое SSH и зачем он нужен для удалённого доступа к серверу
SSH-протокол используется для удаленного доступа к серверу. С помощью такого подключения возможно безопасно подключиться к любому серверу с Debian или любой другой Linux системы.
Какие данные требуются для подключения к серверу
Для корректного подключения к серверу необходимо будет ввести IP, логин, и пароль админа сервера. Находясь в личном кабинете в разделе Виртуальные серверы, нужно выбрать необходимый сервер и нажать Инструкция. Далее в Доступе к серверу вы увидите логин и IP.
Подключение к серверу через терминал в Linux и macOS
Для того чтобы открыть уже предустановленное приложение на Linux системе, нужно открыть терминал с помощью Ctrl+Alt+T.
На MacOS системах терминал можно найти, используя Spotlight. Далее для подключения к виртуальном серверу через SSH используйте следующую команду:
ssh username@ip_adress
Здесь нужно заменить IP на реальный адрес нужного сервера и указать логин юзера. Если на сервере используется нестандартный порт, команда будет выглядеть следующим образом:
ssh username@ip_adress -p 22
После этого, вам нужно подтвердить подключение нажав Enter и также нужно ввести пароль после чего откроется SSH-соединение.
Читайте также: Выделенный IP-адрес: нужен ли он вашему сайту и какие преимущества дает
Подключение по SSH в Windows
Если на вашей машине используется Windows система, а на сервере, к которому планируется подключение Unix система, тогда можно использовать OpenSSH или PuTTY.
В данном примере, мы будем использовать утилиту OpenSSH.
Пошаговая команда SSH-подключения и разбор параметров
- От имени администратора откройте PowerShell.
- Если у вас нет OpenSSH, вы можете установить с помощью следующей команды:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Чтобы проверить, если ли установленный OpenSSH можно использовать:
Get-WindowsCapability -Online | Where-Object { $_.Name -like ‘OpenSSH.Client*’ } - Далее нужно выполнить следующую команду:
ssh username@server_ip
Если используется нестандартный порт SSH, тогда немного модифицируйте команду добавив -p и порт.
Авторизация по паролю и по SSH-ключу
Авторизация с использованием пароля осуществляется достаточно просто, после использования ssh username@server_ip, вам нужно будет ввести пароль.
Для авторизации с использованием SSH-ключа нужно начать с создания ключа используя команду:
ssh-keygen -t ed25519
После чего нужно будет нажать Enter и ключ будет сохраняться в ~/.ssh/id_ed25519.
Следующим важным шагом будет копирование ключа на вашу Debian систему используя:
ssh-copy-id username@server_ip
Далее подключайтесь, используя стандартную команду и пароль для ввода уже не нужен.
Часто спрашивают: Выделенный IP-адрес: нужен ли он вашему сайту и какие преимущества дает
Генерация и добавление SSH-ключей на сервер
После генерации ключей с помощью ssh-keygen -t ed25519, будут созданы 2 файла – приватный и публичный (который мы будет добавлять на сервер).
Самым простым способом будет использование следующей команды:
ssh-copy-id username@server_ip
Типичные ошибки при подключении и их решение
- Connection refused. Основная причина данной ошибки может быть в закрытие порта или в том, что SSH-сервис не запущен. Для этого на сервере нужно использовать следующею команду:
sudo systemctl status ssh
sudo systemctl start ssh
Далее нужно будет открыть порт используя:
sudo ufw allow 22
- Permission denied. Такого рода проблема, может быть, из-за некорректных прав на папку .ssh, неверного пароля, или отсутствие ключей в authorized_keys. Для решения нужно на сервере ввести:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Также нужно проверить или вы подключаетесь, используя корректного пользователя.
- Connection timed out. Основные причины данной ошибки: недоступность сервера, неверный IP, или закрытый порт в firewall.