🔧 Шаг 1: Генерация SSH-ключей с именем
Откройте терминал и выполните команду:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/my_custom_key
-t rsa
— тип ключа-b 4096
— длина ключа-C
— комментарий (обычно email)-f
— путь и имя файла
После выполнения появятся два файла:
~/.ssh/my_custom_key
— приватный ключ~/.ssh/my_custom_key.pub
— публичный ключ
📤 Шаг 2: Копирование публичного ключа на сервер
Самый простой способ — использовать ssh-copy-id
:
ssh-copy-id -i ~/.ssh/my_custom_key.pub user@server_ip
Если ssh-copy-id
недоступен:
cat ~/.ssh/my_custom_key.pub | ssh user@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
⚙️ Шаг 3: Настройка SSH-сервера на Ubuntu
Убедитесь, что установлен и запущен OpenSSH:
sudo apt update sudo apt install openssh-server sudo systemctl enable ssh --now
Откройте конфигурационный файл:
sudo nano /etc/ssh/sshd_config
Убедитесь, что следующие параметры включены:
PubkeyAuthentication yes PasswordAuthentication no PermitRootLogin no
Перезапустите SSH:
sudo systemctl restart ssh
🧠 Шаг 4: Упрощение подключения через конфигурацию
Создайте или отредактируйте файл ~/.ssh/config
:
Host myserver HostName server_ip User username IdentityFile ~/.ssh/my_custom_key
Теперь можно подключаться просто так:
ssh myserver
🛡️ Рекомендации по безопасности
- Используйте нестандартный порт (например, 2222)
- Настройте
Fail2Ban
для защиты от брутфорса - Ограничьте доступ по IP через
iptables
илиufw
✅ Заключение
Теперь вы можете подключаться к серверу Ubuntu по SSH-ключам без пароля. Это не только удобно, но и значительно безопаснее. Используйте уникальные имена для ключей, особенно если работаете с несколькими серверами или проектами.