Как настроить доступ по SSH-ключам на Ubuntu

Настройка SSH-доступа по ключам — это безопасный и удобный способ подключения к серверу без пароля. Ниже пошаговая инструкция, как всё настроить.

🔧 Шаг 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-ключам без пароля. Это не только удобно, но и значительно безопаснее. Используйте уникальные имена для ключей, особенно если работаете с несколькими серверами или проектами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *