ウェブサイト検索

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


OpenSSH は、SSH プロトコル 2.0 を完全に実装した無料のオープン ソースであり、リモート コンピュータ システムへの安全なアクセスと管理、および認証キーの管理のための多数のツールを提供します。 ssh (telnet の安全な代替)、scp、sftp (ftp の安全な代替)、ssh-keygen、ssh-copy-id、ssh-add など。

最近OpenSSH 9.3 がリリースされ、多くの新機能とバグ修正が含まれています。詳細については、SSH リリース ノートを参照してください。

この記事では、Linux システムに最新バージョンのOpenSSH サーバーとクライアントをソースからインストールして構成する方法を説明します。 OpenSSH スイートの既存のインストールがあることを前提としています。

要件:

  • Debian/Ubuntu または RHEL/CentOS Linux システム
  • Cコンパイラ
  • Zlib 1.1.4 または 1.2.1.2 以降
  • LibreSSL または OpenSSL >= 1.0.1 < 1.1.0

ソースから OpenSSH サーバーをインストールする

最新バージョンの SSH をインストールする前に、次のコマンドを使用して、システムにインストールされている SSH の現在のバージョンを必ず確認してください。

ssh -V

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

上記の結果から、インストールされている OpenSSH バージョンは 7.7 です。最新の OpenSSH バージョンをインストールするには、まずいくつかの依存関係をインストールする必要があります。つまり、次のような開発ツールまたはビルドの必需品とその他の必要なパッケージです。

-------------- On RedHat-based Distros --------------
sudo yum update
sudo yum group install 'Development Tools'
sudo yum install zlib-devel openssl-devel

-------------- On Debian-based Distros --------------
sudo apt update 
sudo apt install build-essential zlib1g-dev libssl-dev 

OpenSSH サーバーをインストールするための適切な環境を作成するには、「sshd」 という名前の新しいシステム ユーザーとグループ、およびチルートです。

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 – 同じ名前とグループ ID を持つグループを作成するように指示します。
  • -d – ユーザーのディレクトリを指定します
  • -c – コメントを追加するために使用されます
  • -s – ユーザーのシェルを指定します

ここで、利用可能な HTTP ミラーのいずれかから OpenSSH バージョン 9.3 の tarball をダウンロードするか、次の wget コマンドを使用してターミナルに直接ダウンロードできます。

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

ここで、--with-md5-passwords--with-privsep-path を使用して OpenSSH サーバーを構築してインストールします。 >--sysconfdir オプション。すべてのファイルを /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_9.3p1, OpenSSL 3.0.1 14 Dec 2021

さまざまな OpenSSH 設定ファイルは次の場所にあります。

  • ~/.ssh/* – このディレクトリには、ユーザー固有の ssh クライアント設定 (ssh エイリアス) とキーが保存されます。
  • /etc/ssh/ssh_config – このファイルにはシステム全体の ssh クライアント設定が含まれています。
  • /etc/ssh/sshd_config – sshd サービス構成が含まれています。

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

次の SSH 関連記事もお読みください。

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