LinuxでOpenSSH 8.0 Serverをソースからインストールする方法


ある[ OpenSSH は、SSHプロトコル 2.0 の無料でオープンソース、完全な実装です。 ssh( telnet の安全な代替品)、scp、sftp(ftpの安全な代替品)、ssh- keygen、ssh-copy-id、ssh-addなど

最近 OpenSSH 8.0 がリリースされ、多くの新機能とバグ修正が行われて出荷されています。詳細についてはリリースノートを読むことができます。

この記事では、最新バージョンの OpenSSH 8.0 サーバーとクライアントをLinuxシステムにソースからインストールして設定する方法について説明します。 OpenSSHスイートがすでにインストールされていると仮定します。

  • A Debian/Ubuntu or RHEL/CentOS Linux system
  • C compiler
  • Zlib 1.1.4 or 1.2.1.2 or greater
  • LibreSSL or OpenSSL >= 1.0.1 < 1.1.0

LinuxにOpenSSHサーバーとクライアントをインストールする

最新バージョンの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バージョンの 8.0 サーバーをインストールするための適切な環境を作成するには、 "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 – tells useradd to create a system user
  • -U – instructs it to create a group with the same name and group ID
  • -d – specifies the users directory
  • -c – used to add a comment
  • -s – specifies the user’s shell

さて、利用可能なHTTPミラーのいずれかからOpenSSHバージョンの 8.0 のtarballをダウンロードするか、以下のwgetコマンドを使用して端末に直接ダウンロードできます。

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

それでは、 --with-md5-passwords --with-privsep-path --sysconfdir を使ってOpenSSHサーバーを構築してインストールします。すべてのファイルを/usr/local/にインストールします(これがデフォルトのインストールPREFIXです)。

./configure -h を実行して利用可能なすべてのオプションを確認し、インストールをさらにカスタマイズすることができます。

$ ./configure -h

たとえば、PAMとSELinuxのサポートを有効にするには、それぞれ --with-pam --with-selinux オプションを追加します。必要なすべてのヘッダファイルをインストールする必要があります。彼らが働くために。

## Install PAM and SELinux Headers ##
$ sudo apt install libpam0g-dev libselinux1-dev   [On Debian/Ubuntu]
$ sudo yum install pam-devel libselinux-devel     [On CentOS/RHEL]

## Compile and Install SSH from Sources ##
$ ./configure --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh 
$ make
$ sudo make install 

OpenSSHをインストールしたら、SSHを再起動するか、別の端末ウィンドウを開いて、現在システムにインストールされているOpenSSHのバージョンを確認します。

$ ssh -V

OpenSSH_8.0p1, OpenSSL 1.1.0g  2 Nov 2017

次の場所にあるさまざまなOpenSSH設定ファイル

  • ~/.ssh/* – this directory stores user specific ssh client configurations (ssh aliases) and keys.
  • /etc/ssh/ssh_config – this file contains system wide ssh client configurations.
  • /etc/ssh/sshd_config – contains sshd service configurations.

SSHエイリアスを設定するには、「リモートアクセスを簡単にするためにカスタムSSH接続を設定する方法」を参照してください。

SSH関連の次の記事も読んでください。

  1. How to Create SSH Tunneling or Port Forwarding in Linux
  2. How to Change Default SSH Port to Custom Port in Linux
  3. 4 Ways to Speed Up SSH Connections in Linux
  4. How to Find All Failed SSH Login Attempts in Linux
  5. How to Disable SSH Root Login in Linux

それでおしまい!この記事では、最新バージョンのOpenSSHサーバーとクライアントをLinuxシステムにインストールして構成する方法について説明しました。ご質問やご意見がございましたら、下記のフィードバックフォームを使用してご連絡ください。