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 サーバーをインストールして構成する方法を説明しました。ご質問やご意見がございましたら、以下のフィードバック フォームをご利用ください。