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

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

Connecting to Linux VPS via SSH

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

  • IP-адрес 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.

Linux VPS

Вариант 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 (его копируем на сервер).

Linux VPS

Подробности о генерации ключей в 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)).

Linux VPS

Шаг 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), если удобнее GUI

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

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-клієнта.)