ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Четверг, 3 апреля, 2025

Как настроить SSH в Fedora Linux 42

Как настроить SSH в Fedora Linux 42

Secure Shell (SSH) — это важный инструмент для удалённого администрирования системы, позволяющий пользователям безопасно подключаться к серверам Linux и управлять ими. Если вы используете последнюю версию Fedora, настроить SSH очень просто. В этом руководстве вы найдёте пошаговую инструкцию по настройке SSH в Fedora Linux 42.

 

Зачем использовать SSH?

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

С помощью SSH вы можете:

 

Шаги по настройке SSH в Fedora Linux 42

Настройка SSH в системе Fedora включает в себя следующие шаги:

 

1. Установите сервер OpenSSH

В Fedora обычно предустановлен OpenSSH. Однако если он отсутствует, установите его с помощью:

sudo dnf install -y openssh-server

 

2. Включите и запустите службу SSH

После установки запустите службу SSH и включите ее запуск при загрузке:

sudo systemctl enable --now sshd

 

Чтобы убедиться, что SSH запущен:

systemctl status sshd

 

Вы должны увидеть active (running) в выходных данных зеленым цветом.

● sshd.service - OpenSSH server daemon
     Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf, 50-keep-warm.conf
     Active: active (running) since Tue 2025-04-01 18:15:10 IST; 1min 30s ago
 Invocation: 38901bd911cd4646a11669947332f44b
       Docs: man:sshd(8)
             man:sshd_config(5)
   Main PID: 17430 (sshd)
      Tasks: 1 (limit: 9475)
     Memory: 4.4M (peak: 21.4M)
        CPU: 88ms
     CGroup: /system.slice/sshd.service
             └─17430 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"

Apr 01 18:15:10 fedora systemd[1]: Starting sshd.service - OpenSSH server daemon...
Apr 01 18:15:10 fedora sshd[17430]: Server listening on 0.0.0.0 port 22.
Apr 01 18:15:10 fedora sshd[17430]: Server listening on :: port 22.
Apr 01 18:15:10 fedora systemd[1]: Started sshd.service - OpenSSH server daemon.
Apr 01 18:16:22 fedora sshd-session[17449]: Accepted password for andreyex from 192.168.1.101 port 54476 ssh2
Apr 01 18:16:22 fedora sshd-session[17449]: pam_unix(sshd:session): session opened for user andreyex(uid=1000) by andreyex(uid=0)

 

3. Настройте брандмауэр

Fedora использует firewalld для управления правилами брандмауэра. Откройте SSH-порт с помощью:

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

 

Подтвердите, что правило применено:

sudo firewall-cmd --list-services

 

Вы должны увидеть ssh в списке.

dhcpv6-client samba-client ssh

 

4. Настройте аутентификацию по SSH-ключу (рекомендуется).

Для дополнительной безопасности используйте SSH-ключи вместо паролей.

Предупреждение: не отключайте аутентификацию по паролю, пока не убедитесь, что вход по ключу SSH работает! В противном случае вы можете заблокировать доступ к серверу, если ключи настроены неправильно.

Сгенерируйте пару ключей на вашем локальном компьютере (не на сервере):

ssh-keygen -t ed25519 -C "your-email@example.com"

 

Нажмите Enter для принятия настроек по умолчанию. При желании установите парольную фразу для дополнительной защиты.

Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/andreyex/.ssh/id_ed25519): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/andreyex/.ssh/id_ed25519
Your public key has been saved in /home/andreyex/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:smI0vudP4BHRayrjGXZZghHhE6h8qin9jgifPs+6JDQ sk@andreyex.local
The key's randomart image is:
+--[ED25519 256]--+
|   .+o..         |
|  .... ..        |
|..  oo.  .       |
|.. .....+        |
| Eo o +*S        |
|...o=o+=         |
|+o.o+*o .        |
|==o=oo..         |
|o.BB*o...        |
+----[SHA256]-----+

 

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

ssh-copy-id yourusername@your-fedora-ip

 

Пример:

ssh-copy-id andreyex@192.168.1.42

 

Здесь andreyex — это имя пользователя, а 192.168.1.42 — IP-адрес нашей системы Fedora Linux.

Для выполнения этого шага вам нужно будет один раз ввести свой пароль.

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 2 key(s) remain to be installed -- if you are prompted now it is to install the new keys
andreyex@192.168.1.42's password: 

Number of key(s) added: 2

Now try logging into the machine, with:   "ssh 'andreyex@192.168.1.42'"
and check to make sure that only the key(s) you wanted were added.

 

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

cat ~/.ssh/id_ed25519.pub | ssh yourusername@your-fedora-ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

 

Обеспечьте надлежащие права доступа к файлам:

ssh yourusername@your-fedora-ip "chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh"

 

Теперь протестируйте вход по SSH-ключу (перед отключением паролей!).:

ssh yourusername@your-fedora-ip

 

В случае успеха вы войдёте в систему без пароля. Если это не сработает, проверьте ~/.ssh/authorized_keys на сервере и повторите попытку ssh-copy-id.

Теперь вы можете безопасно отключить аутентификацию по паролю (при использовании SSH-ключей).

 

Примечание: Делайте это только после подтверждения того, что ключ входа работает.

Сначала создайте резервную копию исходного файла конфигурации в вашей системе fedora.

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

 

Затем отредактируйте /etc/ssh/sshd_config и установите:

PasswordAuthentication no

 

Сохраните и выйдите, затем перезапустите SSH:

sudo systemctl restart sshd

 

5. Подключитесь к вашей системе Fedora через SSH

Как только SSH будет настроен, подключитесь с помощью:

ssh yourusername@your-fedora-ip

 

6. Защитите свою конфигурацию SSH

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

Отредактируйте файл конфигурации SSH в вашей системе Fedora:

sudo nano /etc/ssh/sshd_config

 

1. Отключите вход в систему root:

Изменить #PermitRootLogin yes на:

PermitRootLogin no

 

2. Разрешить определенным пользователям:

AllowUsers yourusername

 

7. (Необязательно) Измените SSH-порт по умолчанию в Fedora

Для дополнительной безопасности измените SSH-порт по умолчанию (по умолчанию это 22):

sudo nano /etc/ssh/sshd_config

 

Измените строку:

Port 2222

 

Обновите брандмауэр:

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

 

Перезапустить SSH:

sudo systemctl restart sshd

 

Если SSH работает на порте, отличном от порта по умолчанию, SELinux заблокирует его, если не будет явно разрешено.

Проверьте текущую политику SELinux для SSH:

sudo semanage port -l | grep ssh

 

Если ваш пользовательский порт (например, 2222) отсутствует, добавьте его:

sudo semanage port -a -t ssh_port_t -p tcp 2222

 

Перезапустите SSH и перезагрузите политики SELinux:

sudo systemctl restart sshd
sudo restorecon -v /etc/ssh/sshd_config

 

Убедитесь, что SSH прослушивает новый порт:

sudo ss -tlnp | grep sshd

 

В нем будет указан список разрешенных портов ssh:

LISTEN 0      128          0.0.0.0:2222       0.0.0.0:*    users:(("sshd",pid=18075,fd=7))          
LISTEN 0      128             [::]:2222          [::]:*    users:(("sshd",pid=18075,fd=8))

 

Подключитесь с помощью нового порта:

ssh -p 2222 yourusername@your-fedora-ip

 

Заблокирован? Повторно включите проверку подлинности по паролю SSH

Допустим, вы отключили аутентификацию по паролю, прежде чем правильно настроить аутентификацию по ключу. Теперь вы не можете войти в свою систему Fedora. Как снова включить аутентификацию по паролю? Это просто!

Доступ к Серверу осуществляется через Консоль или в режиме восстановления

Если ваш сервер представляет собой физическую машину, используйте клавиатуру и монитор для прямого доступа к нему.
Если это виртуальный или облачный сервер, проверьте, предлагает ли ваш хостинг-провайдер веб-консоль (например, через панель управления).

Получив доступ к консоли, выполните следующие действия:

 

Загрузка в аварийный режим

Перезапустите систему и в меню GRUB нажмите e для редактирования записи о загрузке.

Найдите строку, которая начинается с linux или linux16, и добавьте в конец строки следующее:

systemd.unit=rescue.target

 

Нажмите Ctrl + X, чтобы загрузиться с этими параметрами.

Как только вы перейдете в режим восстановления, у вас будет root-доступ к командной строке.

 

Повторно включите проверку подлинности SSH

Теперь измените файл конфигурации SSH:

nano /etc/ssh/sshd_config

 

Найдите и измените следующие строки:

PasswordAuthentication yes
PubkeyAuthentication yes

 

Сохраните и выйдите (Ctrl + X, затем Y, затем Enter).

Перезапустить SSH:

systemctl restart sshd

 

Добавьте новый SSH-ключ (необязательно)

Если вы собираетесь использовать аутентификацию на основе ключей, убедитесь, что ваш открытый ключ находится в файле ~/.ssh/authorized_keys:

mkdir -p ~/.ssh
echo "your-public-key-here" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

 

Перезагрузите компьютер и протестируйте доступ по SSH

Выйдите из режима восстановления и перезагрузитесь:

reboot

 

Попробуйте войти в систему через SSH:

ssh user@your-fedora-ip

 

Заключение

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

Exit mobile version