*КУБ — полный комплекс облачных услуг!

Подключение к VPS Linux через SSH

VPS Linux
Подключение к VPS под управлением Linux через SSH

Что понадобится

  • IP-адрес Linux VPS, логин (обычно root или пользователь с правами sudo), порт SSH (по умолчанию 22).
  • SSH-клиент:
    • Windows 10/11: встроенный OpenSSH в Windows Terminal / PowerShell / CMD (рекомендуется) или PuTTY.
    • macOS / Linux: предустановленный ssh в Terminal.

Вариант A — быстрое подключение с помощью пароля (Windows/macOS/Linux)

Команда (вместо user и 1.2.3.4 подставьте свои значения):

ssh user@1.2.3.4 -p 22

При первом входе подтвердите ключ хоста (yes), затем введите пароль.
Базовые опции клиента и аутентификации описаны в руководстве OpenSSH.

Варіант A

Вариант B — защищённое подключение с помощью ключа (рекомендуется)

Шаг 1. Сгенерируйте пару ключей на своём ПК

В Windows 10/11 откройте PowerShell и выполните:

ssh-keygen -t ed25519 -C "мой комментарий"
# якщо ed25519 недоступний:
# ssh-keygen -t rsa -b 4096 -C «мой комментарий»

Ключи появятся в C:\Users\<имя>\.ssh\ (или ~/.ssh в macOS/Linux): частный — без расширения (хранить в тайне), публичный — .pub (его копируем на сервер).

Варіант B

Подробности о генерации ключей в Windows: Microsoft/phoenixNAP/HowToGeek.

Шаг 2. Загрузите открытый ключ на сервер

Способ 2.1 — автоматически (если есть доступ с паролем):

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@1.2.3.4

Утилита сама добавит ключ в ~/.ssh/authorized_keys и установит права.

Способ 2.2 — вручную (через вход с паролем):

ssh user@1.2.3.4
mkdir -p ~/.ssh && chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
# вставьте сюда содержимое вашего файла .pub, затем сохраните
chmod 600 ~/.ssh/authorized_keys

Не перепутайте: на сервер попадает только файл .pub, частный ключ никогда не копируем. Права доступа: .ssh = 700, authorized_keys = 600 (иначе будет Permission denied (publickey)).

Спосіб 2.2

Шаг 3. Подключитесь с помощью ключа

ssh -i ~/.ssh/id_ed25519 user@1.2.3.4

Чтобы не вводить параметры каждый раз, добавьте профиль в ~/.ssh/config:

Host myvps
HostName 1.2.3.4
User user
Port 22
IdentityFile ~/.ssh/id_ed25519

Теперь достаточно ssh myvps. Документация по ssh_config (все ключевые параметры — Host, User, Port, IdentityFile).

Вариант C — через PuTTY (Windows), если удобнее использовать графический интерфейс

  1. Скачайте и запустите PuTTY → вкладка Session → укажите Host Name (IP/домен), Port=22, Connection type=SSHSaved SessionsSaveOpen.
Варіант C

2. Если вход по ключу: PuTTYgen → загрузите частный ключ или создайте новый → сохраните в формате .ppk, затем в PuTTY: Connection → SSH → AuthPrivate key file for authentication — выберите .ppk.

3. (Опционально) Записывайте сессию и сохраняйте профиль, чтобы не вводить параметры каждый раз.

Проверка и базовая настройка

Проверьте доступность порта 22 с вашего ПК:

# Linux/macOS:
nc -vz 1.2.3.4 22
# Windows (PowerShell):
Test-NetConnection 1.2.3.4 -Port 22

Permission denied (publickey) → проверьте:

  1. попал ли на сервер открытый ключ (.pub),
  2. права доступа к ~/.ssh (700) и authorized_keys (600),
  3. совпадает ли IdentityFile локально.

Повышение безопасности сервера (после настройки ключей)

Откройте файл /etc/ssh/sshd_config и проверьте (или добавьте) строки, затем перезапустите sshd:

# запрет прямого входа с правами root (рекомендуется)
PermitRootLogin no
# отказ от паролей, оставляем только ключи
PasswordAuthentication no
PubkeyAuthentication yes
# (опционально) нестандартный порт:
# Port 2222
sudo systemctl restart sshd

Поддерживаемые ключевые директивы и алгоритмы описаны на странице man sshd_config/ssh_config.

Копирование файлов

SCP:

scp -P 22 file.zip user@1.2.3.4:/home/user/

SFTP (интерактивно):

sftp -P 22 user@1.2.3.4

(Оба способа входят в пакет OpenSSH-клиента.)

Menu