Отредактировано 2 Несколько недель назад от ExtremeHow Редакционная команда
SSHСерверУбунтуЛинуксСетевые подключенияБезопасностьНастройкаОперационные системыУдалённый доступСистема
Перевод обновлен 4 Несколько недель назад
Настройка SSH сервера на Ubuntu является важным шагом для удаленного администрирования и передачи файлов. SSH, или Secure Shell, это криптографический сетевой протокол, который обеспечивает безопасную передачу данных по незащищенной сети. Он используется для удаленного входа на машину и выполнения команд, а также для передачи файлов между машинами в сети. В этом руководстве мы проведем вас через процесс настройки SSH сервера на системе Ubuntu.
Перед установкой любого программного обеспечения важно убедиться, что ваш менеджер пакетов системы имеет самую свежую информацию о доступных программных пакетах и их зависимостях. Для этого выполните следующую команду:
sudo apt update
Команда sudo
используется для выполнения команд с повышенными привилегиями, которые обычно требуются для выполнения задач администрирования системы. Команда apt update
обновляет список доступных пакетов из репозитория пакетов, гарантируя доступ к последним версиям.
Пакет SSH сервера Ubuntu называется OpenSSH Server. Это один из наиболее используемых пакетов SSH сервера в экосистеме Linux благодаря своей простоте, безопасности и надежности. Чтобы установить OpenSSH Server, выполните следующую команду в терминале:
sudo apt install openssh-server
Эта команда загрузит пакет OpenSSH Server из репозитория пакетов Ubuntu и установит его на вашей системе. Во время установки менеджер пакетов автоматически запустит SSH службу.
После установки OpenSSH сервера вы захотите убедиться, что SSH служба работает правильно. Используйте следующую команду, чтобы проверить статус SSH службы:
sudo systemctl status ssh
Команда systemctl
используется для проверки статуса системных единиц, включая службы. При проверке статуса SSH службы вы должны увидеть сообщение, указывающее, что служба "active (running)". Если она не работает, вы можете запустить ее с помощью следующей команды:
sudo systemctl start ssh
Если вы хотите, чтобы SSH служба запускалась автоматически при загрузке, используйте следующую команду:
sudo systemctl enable ssh
Файл конфигурации SSH сервера находится в /etc/ssh/sshd_config
. Этот файл управляет различными параметрами SSH сервера, включая номера портов, алгоритмы обмена ключами и методы аутентификации. Важно настроить этот файл в соответствии с вашими потребностями в безопасности и доступе.
По умолчанию, SSH сервер прослушивает порт 22
. Однако изменение порта по умолчанию на нестандартный порт может помочь обеспечить еще один уровень безопасности. Чтобы изменить порт, откройте файл конфигурации SSH с помощью текстового редактора, например:
sudo nano /etc/ssh/sshd_config
Найдите строку #Port 22
и измените ее следующим образом:
Port 2222
Удалите #
в начале, чтобы раскомментировать строку. Убедитесь, что выбранный вами порт не используется другими службами.
Разрешение входа под root через SSH может представлять угрозу безопасности. Рекомендуется отключить его, найдя следующую строку:
PermitRootLogin yes
И изменив ее следующим образом:
PermitRootLogin no
Таким образом, пользователи будут входить в систему как непривилегированные пользователи, и при необходимости переключаться на root.
Аутентификация с использованием открытого ключа более безопасна, чем аутентификация по паролю. Чтобы включить ее, убедитесь, что в файле sshd_config
установлены следующие строки:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Эта настройка позволяет клиентам аутентифицироваться, используя SSH ключи, хранящиеся в файле ~/.ssh/authorized_keys
учетных записей пользователей.
После внесения изменений в файл конфигурации SSH, необходимо перезапустить SSH службу, чтобы изменения вступили в силу:
sudo systemctl restart ssh
Обратите внимание, что если вы изменили порт, вы должны указать новый порт при подключении через SSH. Например, если вы изменили порт SSH на 2222
, используйте ssh user@hostname -p 2222
.
Если на вашем сервере Ubuntu включен брандмауэр, вам необходимо разрешить входящие соединения SSH. Предполагая, что вы используете UFW (Uncomplicated Firewall), вы можете включить брандмауэр и разрешить SSH трафик с помощью следующей команды:
sudo ufw allow ssh
sudo ufw enable
Если вы изменили порт по умолчанию SSH, замените ssh
номером порта, например:
sudo ufw allow 2222
Эта команда корректирует правила брандмауэра, разрешая SSH трафик на указанном порту.
Чтобы убедиться, что ваш SSH сервер настроен правильно, попробуйте подключиться к нему с другой машины (либо другого компьютера, либо виртуальной машины). Используйте команду:
ssh username@server_ip
Замените username
своим фактическим именем пользователя на сервере и замените server_ip
IP-адресом или именем хоста вашего сервера. Если вы изменили порт, вы должны указать его, используя опцию -p
, например:
ssh username@server_ip -p 2222
Если соединение успешно, появится приглашение на вход, позволяющее вам войти на сервер через SSH.
Важно дополнительно повысить безопасность вашей настройки SSH, чтобы предотвратить несанкционированный доступ. Вот несколько советов:
Fail2Ban это программа, которая помогает предотвратить атаки методом подбора, отслеживая неудачные попытки входа. Установите ее, используя следующую команду:
sudo apt install fail2ban
По умолчанию Fail2Ban блокирует IP-адреса на 10 минут после 3 неудачных попыток входа. Вы можете настроить эти параметры, редактируя файл конфигурации, расположенный в /etc/fail2ban/jail.local
.
Рассмотрите возможность разрешения доступа по SSH только определенным пользователям. Вы можете сделать это, добавив следующую строку в ваш файл sshd_config
:
AllowUsers user1 user2
Замените user1
и user2
фактическими именами пользователей, которым вы хотите разрешить доступ по SSH.
Следуя этим шагам, вы сможете эффективно настроить и обезопасить SSH сервер на вашей системе Ubuntu. Эта настройка обеспечивает надежную и безопасную среду для удаленного управления системой и защищенной передачи файлов. Не забывайте всегда обновлять вашу систему и SSH сервер, чтобы предотвратить уязвимости.
Если вы найдете что-то неправильное в содержании статьи, вы можете