Как установить OpenSSH-сервер из исходников в Linux |

Как установить OpenSSH-сервер из исходников в Linux

Мануал

OpenSSH – это бесплатный иструмент с открытым исходным кодом, полная реализация SSH-протокола 2.0.

Он предоставляет ряд инструментов для безопасного доступа и управления удаленными компьютерными системами и управления ключами аутентификации, такими как ssh (безопасная замена для tenet), scp, sftp (безопасная замена ftp), ssh-keygen, ssh-copy-id , ssh-add и т. д.

Недавно OpenSSH 7.9 был выпущен и поставляется со многими новыми функциями и исправлениями ошибок; вы можете прочитать заметки о выпуске для получения дополнительной информации.

В этой статье мы расскажем, как установить и настроить последнюю версию сервера и клиента OpenSSH в системе Linux из исходников.

Мы предполагаем, что у вас есть существующая установка пакета OpenSSH.

Требования:

  • Система Debian / Ubuntu или RHEL / CentOS Linux
  • Компилятор C
  • Zlib 1.1.4 или 1.2.1.2 или выше
  • LibreSSL или OpenSSL> = 1.0.1 <1.1.0

Установка сервера и клиента OpenSSH в Linux

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

$ ssh -V

OpenSSH_7.7p2 Ubuntu-4ubuntu2.5, OpenSSL 1.0.2g	1 Mar 2016

Из приведенного выше результата установленная версия OpenSSH – 7.7 для установки последней версии OpenSSH, сначала вам нужно установить несколько зависимостей, например, инструменты разработки или сборку необходимых и других необходимых пакетов, следующим образом.

-------------- CentOS/RHEL 7/6 --------------
$ sudo yum group install 'Development Tools' 
$ sudo yum install zlib-devel openssl-devel

-------------- Fedora 22+ --------------
$ sudo dnf group install 'Development Tools' 
$ sudo dnf install zlib-devel openssl-devel

-------------- Debian/Ubuntu --------------
$ sudo apt update 
$ sudo apt install build-essential zlib1g-dev libssl-dev

 

Чтобы создать надлежащую среду для установки сервера OpenSSH версии 7.9, нам необходимо создать нового пользователя и группу системы с именем «sshd», а также безопасное место для chroot.

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

$ sudo mkdir /var/lib/sshd
$ sudo chmod -R 700 /var/lib/sshd/
$ sudo chown -R root:sys /var/lib/sshd/
$ sudo useradd -r -U -d /var/lib/sshd/ -c "sshd privsep" -s /bin/false sshd

Объяснение флагов в команде useradd выше:-

  • -r – сообщает useradd о создании пользователя системы
  • -U – инструктирует его создать группу с тем же именем и идентификатором группы
  • -d – указывает каталог пользователей
  • -c – используется для добавления комментария
  • -s – указывает оболочку пользователя

Теперь загрузите tarball из OpenSSH версии 7.9 из любого из доступных HTTP-зеркал или вы можете использовать следующую команду wget для загрузки непосредственно в вашем терминале.

$ wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz
$ tar -xzf openssh-7.9p1.tar.gz
$ cd openssh-7.9p1/

Теперь мы будем собирать и устанавливать сервер OpenSSH с использованием параметров –with-md5-passwords, –with-privsep-path и -sysconfdir, которые будут устанавливать все файлы в /usr/local/ (это стандартная установка PREFIX ).

Вы можете просмотреть все доступные параметры, запустив ./configure -h и настроить свою установку.

$ ./configure -h

Например, чтобы включить поддержку PAM и SELinux, добавьте опции -with-pam и -with-selinux, соответственно, вам необходимо установить для них все необходимые файлы заголовков.

$ ./configure --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh 
$ make
$ sudo make install

После того, как вы установили OpenSSH, откройте другие окна терминала и проверьте версию OpenSSH, установленную в вашей системе.

$ ssh -V

OpenSSH_7.9p1, OpenSSL 1.0.2g		1 Mar 2016

Различные файлы конфигурации OpenSSH, расположенные по адресу:

  • ~ / .ssh / * – этот каталог хранит пользовательские конфигурации клиента ssh (ssh-псевдонимы) и ключи.
  • /etc/ssh/ssh_config – этот файл содержит конфигурации клиента ssh для всей системы.
  • /etc/ssh/sshd_config – содержит конфигурации службы sshd.

См. также

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий

  1. Игорь

    Спасибо дружище!

    Ответить
    1. cryptoparty автор

      Всегда рады помочь!

      Ответить