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.
См. также
- Как безопасно передавать файлы с помощью SFTP
- ✗ Основы Linux: как создавать и устанавливать SSH-ключи в шелле ✗
- 4 способа отключить учетную запись root в Linux
- Как установить OpenSSH на Windows 10
- Как защитить OpenSSH на CentOS 7.4
- Совет OpenSSH: проверьте ошибки синтаксиса перед перезагрузкой SSHD-сервера
Спасибо дружище!
Всегда рады помочь!