33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Используйте код:

BLACK33
BG40
Активировать тут
29.10.2024

Как установить и настроить 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:

sudo apt update sudo apt install openssh-server

Для CentOS/RHEL:

sudo yum install openssh-server

Для Fedora:

sudo dnf install openssh-server

Для Arch Linux:

sudo pacman -S openssh

После установки у вас будут установлены сервер и клиент OpenSSH, что позволит вам запускать SSH-сервер и подключаться к другим SSH-серверам


Шаг 2: Запуск и включение службы SSH

После установки необходимо запустить службу SSH (также известную как sshd – демон SSH) и включить ее запуск при старте системы

Запуск службы SSH:

sudo systemctl start ssh

Включение запуска SSH при загрузке:

sudo systemctl enable ssh

Вы можете проверить, правильно ли работает SSH, набрав

sudo systemctl status ssh

Если служба запущена, вы увидите активный статус, указывающий на то, что SSH готов принимать соединения


Шаг 3: Базовая конфигурация SSH

Поведение SSH контролируется конфигурационным файлом, расположенным по адресу

/etc/ssh/sshd_config

Вы можете отредактировать этот файл, чтобы изменить настройки SSH, например, изменить порт по умолчанию, отключить вход root или настроить аутентификацию на основе ключей. Чтобы отредактировать файл, используйте текстовый редактор, например, nano или vim

sudo nano /etc/ssh/sshd_config

Некоторые распространенные изменения конфигурации включают

1. Изменение порта SSH по умолчанию

В целях безопасности неплохо бы изменить порт SSH по умолчанию с 22 на какой-нибудь другой. Это поможет снизить риск автоматических атак, направленных на порт SSH по умолчанию. Найдите следующую строку в файле конфигурации

#Port 22

Откомментируйте ее и измените номер порта

Порт 2222

После сохранения файла перезапустите службу SSH, чтобы применить изменения

sudo systemctl restart ssh

Не забудьте обновить правила брандмауэра, чтобы разрешить соединения на новом порту

2. Отключение входа в систему root

Разрешение входа root через SSH представляет собой риск для безопасности. Чтобы предотвратить это, найдите следующую строку в файле конфигурации

PermitRootLogin yes

Измените ее на

PermitRootLogin no

Это предотвратит прямой доступ к root через SSH. Пользователи по-прежнему могут войти в систему под обычной учетной записью, а затем переключиться на root с помощью sudo или su

3. Включите аутентификацию на основе ключей

Аутентификация на основе ключей SSH – это более безопасный метод, чем использование паролей. Он включает в себя создание пары ключей SSH (открытый и закрытый ключи) и использование закрытого ключа для аутентификации. Чтобы включить аутентификацию на основе ключей, найдите следующие строки и убедитесь, что они имеют значение yes

PubkeyAuthentication yes PasswordAuthentication no

Это отключает вход в систему на основе пароля и разрешает доступ к SSH только через аутентификацию на основе ключа


Шаг 4: Генерация ключей SSH (аутентификация на основе ключей)

Пары ключей SSH обеспечивают безопасный способ входа в систему без пароля. Ниже описано, как сгенерировать и настроить ключи SSH

Шаг 1: Генерация пары ключей SSH

На локальной машине выполните следующую команду, чтобы сгенерировать пару ключей

ssh-keygen -t rsa -b 4096

Вам будет предложено ввести имя файла для сохранения ключа (или нажмите Enter, чтобы использовать место по умолчанию) и дополнительную ключевую фразу для дополнительной безопасности. В результате будут созданы два файла

  • ~/.ssh/id_rsa: ваш закрытый ключ (храните его в безопасности и не передавайте).
  • ~/.ssh/id_rsa.pub: Ваш открытый ключ (им можно поделиться и добавить на удаленные серверы).

Шаг 2: Скопируйте открытый ключ на сервер

Чтобы использовать ключ для входа по SSH, скопируйте открытый ключ на удаленный сервер, к которому вы хотите получить доступ. Это можно сделать с помощью команды ssh-copy-id

ssh-copy-id username@remote_host

Замените username на имя пользователя удаленного сервера, а remote_host – на IP-адрес или имя хоста. Это скопирует ваш открытый ключ на сервер и добавит его в файл ~/.ssh/authorized_keys, что позволит вам войти в систему без пароля

Шаг 3: Вход в систему с помощью ключа SSH

Теперь вы можете войти на удаленный сервер, используя свой закрытый ключ

ssh username@remote_host

Если вы задали собственный порт, укажите его с помощью опции -p

ssh -p 2222 username@remote_host

Шаг 5: Защита конфигурации SSH

После настройки SSH важно следовать лучшим практикам безопасности, чтобы гарантировать, что ваш сервер защищен от несанкционированного доступа

1. Используйте надежные пароли (при использовании парольной аутентификации)

Если вы не используете аутентификацию на основе ключей, убедитесь, что все учетные записи пользователей используют надежные и сложные пароли

2. Используйте брандмауэр

Убедитесь, что брандмауэр вашего сервера пропускает трафик только через порт SSH, который вы используете. Например, если вы изменили SSH на порт 2222, разрешите трафик на этом порту с помощью ufw (на Ubuntu/Debian) или firewalld (на CentOS/RHEL)

sudo ufw allow 2222/tcp sudo ufw enable

3. Ограничение доступа к SSH

Ограничьте доступ к SSH определенными IP-адресами или диапазонами, настроив брандмауэр или используя /etc/hosts.allow и /etc/hosts.deny


Шаг 6: Тестирование и устранение неполадок SSH

После настройки SSH важно протестировать вашу установку. Попробуйте войти в систему с помощью SSH, чтобы убедиться, что все работает правильно

Общие советы по устранению неполадок SSH:

  1. Проверьте настройки брандмауэра: Убедитесь, что брандмауэр не блокирует порт SSH.
  2. Проверьте состояние службы SSH: Убедитесь, что служба SSH запущена, с помощью команды systemctl status ssh.
  3. Проверьте конфигурацию: Дважды проверьте файл /etc/ssh/sshd_config на наличие неверных конфигураций.
  4. Используйте режим Verbose для отладки: Если возникли проблемы, используйте опцию -v при подключении, чтобы увидеть подробный вывод:
ssh -v username@remote_host

Заключение

Установка и настройка SSH – это фундаментальный навык для любого администратора Linux или пользователя, которому необходимо безопасно управлять удаленными системами. Следуя этому руководству, вы сможете установить SSH, настроить его для безопасного доступа и применить лучшие практики для защиты вашего сервера от несанкционированного доступа. После настройки SSH станет мощным инструментом для удаленного управления, автоматизации и безопасной связи между системами.

33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Используйте код:

BLACK33
BG40
Активировать тут