Как установить и настроить SSH
Установка и защита SSH на VPS AlexHost: нулевой уровень доверия в 2025 году
SSH = ваша единственная дверь на сервер. Неправильная настройка = взлом за <5 минут. VPS от AlexHost с NVMe и защитой от DDoS предоставляет вам root-доступ, порт 1 Гбит/с – идеальное решение для защищенного SSH. В этой статье мы расскажем вам, как установить и настроить SSH в Linux, рассмотрим основы, параметры конфигурации и рекомендации по безопасности.
Что такое SSH?
SSH расшифровывается как Secure Shell и позволяет пользователям безопасно подключаться к удаленной системе через интерфейс командной строки. Протокол шифрует данные между клиентом и сервером, что делает его безопасным методом связи, особенно для доступа к серверам через незащищенные сети, такие как Интернет. SSH работает через порт 22 по умолчанию и может быть использован для
- Удаленный вход на серверы
- Безопасная передача файлов (с помощью SCP или SFTP)
- Удаленное выполнение команд
- Переадресация портов и туннелирование
Шаг 1: Установка SSH
Большинство дистрибутивов Linux поставляются с предустановленным SSH, но если он не установлен, вы можете легко установить его с помощью менеджера пакетов для вашего дистрибутива
Для Ubuntu/Debian:
Для CentOS/RHEL:
Для Fedora:
Для Arch Linux:
После установки у вас будут установлены сервер и клиент OpenSSH, что позволит вам запускать SSH-сервер и подключаться к другим SSH-серверам
Шаг 2: Запуск и включение службы SSH
После установки необходимо запустить службу SSH (также известную как sshd – демон SSH) и включить ее запуск при старте системы
Запуск службы SSH:
Включение запуска SSH при загрузке:
Вы можете проверить, правильно ли работает SSH, набрав
Если служба запущена, вы увидите активный статус, указывающий на то, что SSH готов принимать соединения
Шаг 3: Базовая конфигурация SSH
Поведение SSH контролируется конфигурационным файлом, расположенным по адресу
Вы можете отредактировать этот файл, чтобы изменить настройки SSH, например, изменить порт по умолчанию, отключить вход root или настроить аутентификацию на основе ключей. Чтобы отредактировать файл, используйте текстовый редактор, например, nano или vim
Некоторые распространенные изменения конфигурации включают
1. Изменение порта SSH по умолчанию
В целях безопасности неплохо бы изменить порт SSH по умолчанию с 22 на какой-нибудь другой. Это поможет снизить риск автоматических атак, направленных на порт SSH по умолчанию. Найдите следующую строку в файле конфигурации
Откомментируйте ее и измените номер порта
После сохранения файла перезапустите службу SSH, чтобы применить изменения
Не забудьте обновить правила брандмауэра, чтобы разрешить соединения на новом порту
2. Отключение входа в систему root
Разрешение входа root через SSH представляет собой риск для безопасности. Чтобы предотвратить это, найдите следующую строку в файле конфигурации
Измените ее на
Это предотвратит прямой доступ к root через SSH. Пользователи по-прежнему могут войти в систему под обычной учетной записью, а затем переключиться на root с помощью sudo или su
3. Включите аутентификацию на основе ключей
Аутентификация на основе ключей SSH – это более безопасный метод, чем использование паролей. Он включает в себя создание пары ключей SSH (открытый и закрытый ключи) и использование закрытого ключа для аутентификации. Чтобы включить аутентификацию на основе ключей, найдите следующие строки и убедитесь, что они имеют значение yes
Это отключает вход в систему на основе пароля и разрешает доступ к SSH только через аутентификацию на основе ключа
Шаг 4: Генерация ключей SSH (аутентификация на основе ключей)
Пары ключей SSH обеспечивают безопасный способ входа в систему без пароля. Ниже описано, как сгенерировать и настроить ключи SSH
Шаг 1: Генерация пары ключей SSH
На локальной машине выполните следующую команду, чтобы сгенерировать пару ключей
Вам будет предложено ввести имя файла для сохранения ключа (или нажмите Enter, чтобы использовать место по умолчанию) и дополнительную ключевую фразу для дополнительной безопасности. В результате будут созданы два файла
- ~/.ssh/id_rsa: ваш закрытый ключ (храните его в безопасности и не передавайте).
- ~/.ssh/id_rsa.pub: Ваш открытый ключ (им можно поделиться и добавить на удаленные серверы).
Шаг 2: Скопируйте открытый ключ на сервер
Чтобы использовать ключ для входа по SSH, скопируйте открытый ключ на удаленный сервер, к которому вы хотите получить доступ. Это можно сделать с помощью команды ssh-copy-id
Замените username на имя пользователя удаленного сервера, а remote_host – на IP-адрес или имя хоста. Это скопирует ваш открытый ключ на сервер и добавит его в файл ~/.ssh/authorized_keys, что позволит вам войти в систему без пароля
Шаг 3: Вход в систему с помощью ключа SSH
Теперь вы можете войти на удаленный сервер, используя свой закрытый ключ
Если вы задали собственный порт, укажите его с помощью опции -p
Шаг 5: Защита конфигурации SSH
После настройки SSH важно следовать лучшим практикам безопасности, чтобы гарантировать, что ваш сервер защищен от несанкционированного доступа
1. Используйте надежные пароли (при использовании парольной аутентификации)
Если вы не используете аутентификацию на основе ключей, убедитесь, что все учетные записи пользователей используют надежные и сложные пароли
2. Используйте брандмауэр
Убедитесь, что брандмауэр вашего сервера пропускает трафик только через порт SSH, который вы используете. Например, если вы изменили SSH на порт 2222, разрешите трафик на этом порту с помощью ufw (на Ubuntu/Debian) или firewalld (на CentOS/RHEL)
3. Ограничение доступа к SSH
Ограничьте доступ к SSH определенными IP-адресами или диапазонами, настроив брандмауэр или используя /etc/hosts.allow и /etc/hosts.deny
Шаг 6: Тестирование и устранение неполадок SSH
После настройки SSH важно протестировать вашу установку. Попробуйте войти в систему с помощью SSH, чтобы убедиться, что все работает правильно
Общие советы по устранению неполадок SSH:
- Проверьте настройки брандмауэра: Убедитесь, что брандмауэр не блокирует порт SSH.
- Проверьте состояние службы SSH: Убедитесь, что служба SSH запущена, с помощью команды systemctl status ssh.
- Проверьте конфигурацию: Дважды проверьте файл /etc/ssh/sshd_config на наличие неверных конфигураций.
- Используйте режим Verbose для отладки: Если возникли проблемы, используйте опцию -v при подключении, чтобы увидеть подробный вывод:
Заключение
Установка и настройка SSH – это фундаментальный навык для любого администратора Linux или пользователя, которому необходимо безопасно управлять удаленными системами. Следуя этому руководству, вы сможете установить SSH, настроить его для безопасного доступа и применить лучшие практики для защиты вашего сервера от несанкционированного доступа. После настройки SSH станет мощным инструментом для удаленного управления, автоматизации и безопасной связи между системами.


