Как настроить SSH на Ubuntu правильно и быстро
Установка и первичная настройка SSH-сервера
Для начала убедитесь, что пакет OpenSSH Server установлен. Введите команду sudo apt update и затем sudo apt install openssh-server. После завершения установки проверьте статус службы командой systemctl status ssh. Статус должен быть «active (running)». Если служба не запущена, запустите её командой sudo systemctl start ssh и добавьте в автозагрузку командой sudo systemctl enable ssh.
Настройка конфигурационного файла
Основной файл конфигурации SSH располагается по пути /etc/ssh/sshd_config
. Перед редактированием сделайте копию: sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak. Откройте файл редактором: sudo nano /etc/ssh/sshd_config.
Рекомендуемые изменения для повышения безопасности:
- Port 2222 – смените стандартный порт 22 на произвольное число, чтобы уменьшить количество нежелательных подключений.
- PermitRootLogin no – отключите вход под root, чтобы предотвратить попытки взлома.
- PasswordAuthentication no – отключите аутентификацию по паролю, если используете ключи SSH.
- AllowUsers – добавьте список допустимых пользователей для подключения.
После внесения изменений перезапустите SSH-сервис командой sudo systemctl restart ssh.
Генерация и использование SSH-ключей
Для безопасного подключения создайте пару ключей командой ssh-keygen -t ed25519 -C "ваш_email@пример.com". Во время генерации можно указать путь для хранения ключей или оставить стандартный (~/.ssh/id_ed25519).
Чтобы подключиться к серверу, скопируйте публичный ключ командой ssh-copy-id -p 2222 username@ip (указывайте порт, если изменяли его). Это позволит авторизовываться без пароля, использовав ключи.
Обеспечение дополнительной безопасности
Рекомендуется настроить брандмауэр. Используйте UFW (Uncomplicated Firewall):
- Разрешите SSH на выбранном порту: sudo ufw allow 2222/tcp
- Включите брандмауэр: sudo ufw enable
- Проверьте статус: sudo ufw status
Также можно ограничить IP-адреса для соединений, добавив правило AllowOnly для определенных IP или подсетей.
Полезные команды
- Проверка статуса SSH-сервиса: systemctl status ssh
- Перезапуск службы: sudo systemctl restart ssh
- Редактирование конфигурации: sudo nano /etc/ssh/sshd_config
- Создание SSH-ключей: ssh-keygen -t ed25519
- Копирование ключей на сервер: ssh-copy-id -p порт username@ip