OpenSSH: сборка с исходников

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

Соберем сервер с исходных кодов. Так же подразумевается, что на сервере уже установлен openssh-server, что упростит задачу настройки.

СБОРКА

Скачиваем последнюю версию с https://github.com/openssh/openssh-portable/releases в виде архива tar.gz и начинаем сборку:

yum install zlib-devel openssl-devel pam-devel libselinux-devel
wget https://github.com/openssh/openssh-portable/archive/refs/tags/V_8_6_P1.tar.gz
tar xvvf V_8_6_P1.tar.gz
cd openssh-portable-V_8_6_P1
autoreconf
./configure --with-md5-passwords --with-pam --with-selinux --with-ipv4-default --prefix=/usr --with-privsep-path=/var/empty/sshd --sysconfdir=/etc/ssh
make
make tests
make install

НАСТРОЙКА

Надо закоментировать в /etc/ssh/sshd_config две директивы, которые уже устарели:

GSSAPIAuthentication yes
GSSAPICleanupCredentials no

Далее надо изменить параметры запуска определяющие алгоритмы шифрования. Удаляем симлинк /etc/crypto-policies/back-ends/opensshserver.config и создаем новый:

ln -s /usr/share/crypto-policies/FUTURE/opensshserver.txt /etc/crypto-policies/back-ends/opensshserver.config

А сейчас надо обновить скрипты systemd. В файле /lib/systemd/system/sshd-keygen@.service меняем значение ExecStart на /usr/bin/ssh-keygen %i, а в /lib/systemd/system/sshd.service коментируем Type=notify и меняем значение ExecStart на /usr/sbin/sshd -e -D $OPTIONS $CRYPTO_POLICY.

Выполняем systemctl daemon-reload и systemctl restart sshd. Проверяем systemctl status sshd.