Подробный гайд: Настройка SSH-сервера в ALT Linux
Настройка SSH-сервера в ALT Linux имеет свою специфику, связанную с использованием пакетного менеджера apt (RPM), системы инициализации systemd и фирменных утилит настройки (в частности, alterator).
Ниже представлен подробный пошаговый гайд по установке, запуску и безопасной настройке OpenSSH-сервера в ALT Linux.
Шаг 1. Установка OpenSSH-сервера
По умолчанию в некоторых редакциях ALT Linux (например, Workstation) SSH-клиент установлен, но сервер может отсутствовать.
1. Откройте терминал и получите права суперпользователя. В ALT Linux это удобнее всего сделать через su - или sudo:
su -
# или, если настроен sudo:
sudo -i
2. Обновите списки пакетов и установите сервер OpenSSH:
apt-get update
apt-get install openssh-server
Шаг 2. Запуск службы и добавление в автозагрузку
В современных версиях ALT Linux (p9, p10, p11, Сизиф) используется systemd.
1. Запустите службу sshd:
systemctl start sshd
2. Добавьте её в автозагрузку, чтобы сервер запускался при старте системы:
systemctl enable sshd
3. Проверьте статус, чтобы убедиться, что всё работает без ошибок:
systemctl status sshd
(Для выхода из режима просмотра статуса нажмите q).
Шаг 3. Настройка межсетевого экрана (Firewall)
Чтобы к серверу можно было подключиться извне, необходимо открыть порт 22 (или тот, который вы укажете). В ALT Linux могут использоваться разные механизмы фильтрации.
Вариант А: Если используется firewalld (часто в Server-редакциях)
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
Вариант Б: Если используется iptables (часто в Workstation/Regular)
Добавьте правило в iptables:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Чтобы правило сохранилось после перезагрузки в ALT Linux, лучше всего использовать штатный инструмент Alterator (графический или текстовый):
- Запустите
alterator-net-iptables(в терминале от root) или откройте Центр управления ALT -> Сеть и службы -> Брандмауэр (iptables). - Добавьте новое правило: разрешить входящие TCP-соединения на порт 22.
- Сохраните конфигурацию.
Шаг 4. Базовая настройка безопасности (sshd_config)
Файл конфигурации находится по пути /etc/ssh/sshd_config.
Перед редактированием обязательно сделайте резервную копию:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
Откройте файл в текстовом редакторе (например, vim или nano):
nano /etc/ssh/sshd_config
Рекомендуемые изменения для повышения безопасности:
1. Запрет входа под root (очень важно!):
Найдите строку PermitRootLogin и измените её на:
PermitRootLogin no
(Или prohibit-password, если хотите разрешить вход root только по ключам).
2. Смена стандартного порта (защита от брутфорса):
Найдите #Port 22, раскомментируйте и измените на любой свободный порт (например, 2222 или 50022):
Port 50022
Важно:
Если вы меняете порт, не забудьте открыть его в брандмауэре (Шаг 3) и, если включен SELinux, добавить его в контекст SELinux (см. Шаг 7).
3. Отключение парольной аутентификации (если планируете использовать только ключи):
PasswordAuthentication no
PubkeyAuthentication yes
После внесения изменений сохраните файл и перезапустите службу:
systemctl restart sshd
Шаг 5. Настройка входа по SSH-ключам (Рекомендуется)
Вход по ключам надежнее, чем по паролю. Делается это на вашем клиентском компьютере (откуда вы будете подключаться).
1. Сгенерируйте пару ключей (если её еще нет):
ssh-keygen -t ed25519 -C "denis@workstation"
(Просто нажимайте Enter, оставляя пустой пароль для ключа, или введите его для дополнительной защиты).
2. Скопируйте публичный ключ на ALT Linux сервер:
ssh-copy-id -p 22 имя_пользователя@ip_адрес_сервера
(Если вы сменили порт на 50022, используйте -p 50022).
3. Теперь вы можете входить без пароля:
ssh -p 22 имя_пользователя@ip_адрес_сервера
Шаг 6. Проверка и устранение неполадок
Если подключиться не удается, проверьте следующее:
1. Слушает ли сервер порт?
ss -tulpn | grep sshd
2. Логи SSH:
В ALT Linux логи обычно пишутся в journalctl или /var/log/messages.
journalctl -u sshd -e
3. Права на домашнюю директорию и .ssh:
SSH очень строг к правам.
На сервере для вашего пользователя проверьте:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod go-w ~
Шаг 7. Нюанс с SELinux (для Server-редакций)
Если в вашей сборке ALT Linux включен SELinux (режим Enforcing) и вы сменили порт с 22 на другой (например, 50022), SSH не запустится.
Нужно явно разрешить новый порт в SELinux:
# Установить утилиту, если её нет
apt-get install policycoreutils-python
# Добавить порт
semanage port -a -t ssh_port_t -p tcp 50022
# Проверить
semanage port -l | grep ssh
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.