Что такое 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-подключения и разбор параметров

  1. От имени администратора откройте PowerShell.
  2. Если у вас нет OpenSSH, вы можете установить с помощью следующей команды:
    Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
    Чтобы проверить, если ли установленный OpenSSH можно использовать:
    Get-WindowsCapability -Online | Where-Object { $_.Name -like ‘OpenSSH.Client*’ }
  3. Далее нужно выполнить следующую команду:
    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.