SSH (Secure Shell) — это протокол для безопасного удаленного доступа к серверам. Ключи Ed25519 считаются более безопасными и эффективными по сравнению с традиционными RSA-ключами. В этой статье я покажу, как создать SSH-ключ Ed25519 и настроить доступ к вашему Linux серверу.
Безопасность: Устойчив к ряду атак, которые могут затрагивать RSA.
Производительность: Быстрее генерация и операции подписи.
Размер: Меньший размер ключа при сопоставимой безопасности.
Шаг 1: Генерация SSH-ключа Ed25519
Откройте терминал на вашем локальном компьютере и выполните:
ssh-keygen -t ed25519
Где: -t ed25519 — указывает тип ключа
В процессе генерации вам будет предложено:
Указать место сохранения ключа (по умолчанию ~/.ssh/id_ed25519)
Ввести passphrase (рекомендуется для дополнительной безопасности)
Пример выполнения:
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/user/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_ed25519
Your public key has been saved in /home/user/.ssh/id_ed25519.pub
Шаг 2: Проверка созданных ключей
Убедитесь, что ключи созданы правильно:
ls -la ~/.ssh/id_ed25519*
Вы должны увидеть два файла:
id_ed25519 — приватный ключ (никогда никому не передавайте!)
id_ed25519.pub — публичный ключ
Шаг 3: Копирование публичного ключа на сервер
Способ 1: Использование ssh-copy-id (рекомендуется)
ssh-copy-id -i ~/.ssh/id_ed25519.pub username@server_ip
где:
username - имя пользователя на сервере
server_ip - IP-адрес или домен сервера
Способ 2: Ручное копирование
Если ssh-copy-id недоступен, скопируйте содержимое публичного ключа:
cat ~/.ssh/id_ed25519.pub
На сервере дополните файл авторизованных ключей ~/.ssh/authorized_keys
Шаг 4: Тестирование подключения
Попробуйте подключиться к серверу:
ssh username@server_ip или ssh -i ~/.ssh/id_ed25519 username@server_ip
Если вы установили passphrase, вам будет предложено ввести его.
ВАЖНО. Если забыли passphrase, придется генерировать новый ключ, так как passphrase не восстанавливается.
Шаг 5: Дополнительные настройки (опционально)
Создайте/отредактируйте файл ~/.ssh/config на локальном компьютере:
Host mykomputer
HostName server_ip
User mykomputer
IdentityFile ~/.ssh/id_ed25519
Port 22
Теперь можно подключаться просто командой:
ssh mykomputer
На сервере отредактируйте /etc/ssh/sshd_config:
PasswordAuthentication no
PubkeyAuthentication yes
И перезагрузите SSH-демон:
sudo systemctl reload ssh
Теперь у вас настроен безопасный доступ к серверу с использованием современных SSH-ключей Ed25519. Такой подход обеспечивает:
Высокий уровень безопасности.
Быстрое подключение.
Удобство использования (особенно с файлом config).
Не забывайте хранить приватный ключ в безопасности и используйте passphrase для дополнительной защиты!
Удачи!