SSH (Secure Shell) — это криптографический сетевой протокол, который позволяет безопасно управлять сервером и передавать данные по незащищенным сетям. Ниже приведена пошаговая инструкция по подключению.
1. Что потребуется для подключения
- IP-адрес или доменное имя вашего сервера (например,
192.168.1.100илиexample.com). - Имя пользователя (обычно
rootили имя созданного вами пользователя, например,ubuntu,debian,user). - Пароль или приватный SSH-ключ для аутентификации.
- SSH-клиент:
- В Linux и macOS клиент OpenSSH встроен в терминал по умолчанию.
- В Windows 10/11 встроен клиент OpenSSH (доступен в командной строке
cmd, PowerShell или Терминале Windows). - Альтернативы для Windows: PuTTY, MobaXterm, Windows Terminal.
2. Базовое подключение по паролю
Откройте терминал (или командную строку) и введите следующую команду, заменив username и server_ip на ваши данные:
ssh username@server_ip
Пример: ssh
Первое подключение (Проверка отпечатка хоста)
При первом подключении к серверу вы увидите сообщение о том, что подлинность хоста не может быть установлена. Это нормальное поведение:
The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Введите yes и нажмите Enter. Сервер будет добавлен в файл ~/.ssh/known_hosts на вашем компьютере, и в будущем это предупреждение не появится (если ключ сервера не изменится).
После этого система запросит пароль. Внимание: при вводе пароля символы на экране не отображаются (нет звездочек или точек). Это мера безопасности. Просто введите пароль и нажмите Enter.
3. Подключение через нестандартный порт
По умолчанию SSH использует порт 22. Если администратор сервера изменил порт в целях безопасности (например, на 2222), используйте флаг -p:
ssh -p 2222 username@server_ip
4. Подключение с использованием SSH-ключей (Рекомендуемый способ)
Аутентификация по ключам надежнее и удобнее, чем по паролю. Она состоит из трех этапов.
Шаг 4.1. Генерация ключей (на вашем локальном компьютере)
Если у вас еще нет пары ключей, создайте ее:
ssh-keygen -t ed25519 -C "Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript. "
Примечание: Если ваша система старая и не поддерживает ed25519, используйте ssh-keygen -t rsa -b 4096.
Вам будет предложено указать путь для сохранения ключа (оставьте путь по умолчанию, нажав Enter) и ввести кодовую фразу (passphrase) для дополнительной защиты ключа (можно оставить пустым, просто нажав Enter).
Шаг 4.2. Копирование публичного ключа на сервер
Используйте утилиту ssh-copy-id (доступна в Linux, macOS и современных версиях Windows). Она автоматически добавит ваш публичный ключ в файл ~/.ssh/authorized_keys на сервере:
ssh-copy-id username@server_ip
Система попросит ввести пароль от сервера один последний раз. После успешного копирования вы увидите сообщение: Number of key(s) added: 1.
Шаг 4.3. Подключение по ключу
Теперь вы можете подключаться без ввода пароля:
ssh username@server_ip
Шаг 4.4. Подключение с указанием конкретного приватного ключа
Если вы сохранили ключ под нестандартным именем или в другом месте, укажите путь к нему с помощью флага -i:
ssh -i /путь/к/вашему/приватному_ключу username@server_ip
5. Как завершить SSH-сессию
Чтобы корректно отключиться от сервера и вернуться в локальный терминал, используйте один из двух способов:
- Введите команду
exitи нажмите Enter. - Нажмите комбинацию клавиш
Ctrl+D.
6. Решение частых проблем
Ошибка: "Connection refused" (Соединение отклонено)
- Убедитесь, что вы правильно указали IP-адрес.
- Проверьте, не используется ли нестандартный порт (добавьте флаг
-p). - На сервере может не быть запущен SSH-демон (
sshd), или он блокируется фаерволом (iptables/ufw).
Ошибка: "Permission denied (publickey,password)"
- Вы ввели неверный пароль или имя пользователя.
- Если вы используете ключи: убедитесь, что вы указываете правильный путь к приватному ключу через
-i. - Проверьте права на файл приватного ключа на вашем компьютере. Они должны быть строгими:
chmod 600 ~/.ssh/id_ed25519. - На сервере вход по паролям или ключам может быть отключен в файле
/etc/ssh/sshd_config.
Ошибка: "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!"
Это серьезное предупреждение. Оно означает, что отпечаток ключа сервера изменился. Это может произойти, если:
- Сервер был переустановлен или заменен.
- Изменился IP-адрес, и теперь он принадлежит другому серверу.
- Происходит атака "человек посередине" (Man-in-the-Middle).
Если вы уверены, что причина безопасна (например, вы только что переустановили ОС на сервере), удалите старую запись из файла known_hosts с помощью команды:
ssh-keygen -R server_ip
После этого попробуйте подключиться снова.