一、依存関係のインストール#
以下の依存関係パッケージをインストールします:
# リポジトリの更新
sudo apt update
# 依存関係のインストール
sudo apt install zlib1g libpam0g-dev libssl-dev
二、パッケージのダウンロード#
以下のソフトウェアパッケージをダウンロードします。バージョンはダウンロードの説明リンクを参照してください:
OpenSSL
公式ダウンロードリンク: https://www.openssl.org/source/OpenSSH
公式ダウンロードリンク: https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/Zlib
公式ダウンロードリンク: http://www.zlib.net/
三、準備#
telnet
サービスが利用可能かどうかを確認します:
telnet ip
ログインできない場合は、telnet
サービスをインストールする必要があります:
# telnetのインストール
sudo apt-get install openbsd-inetd telnetd telnet
# サービスの起動
sudo /etc/init.d/openbsd-inetd restart
# telnetポートの確認
netstat -anpt | grep 23
# ファイアウォールで23番ポートを開放する
sudo ufw allow 23
# 再度ログインが成功するかテストする
telnet ip
四、インストール#
元の openssh
をアンインストールします:
sudo apt-get remove openssh-server openssh-client
注意:この時点で新しい SSH 接続を作成できなくなるため、現在の操作画面を閉じないでください。
1. zlib のインストール#
tar -zxvf zlib-version.tar.gz
cd zlib-version
./configure --prefix=/usr/local/zlib
make && sudo make install
2. OpenSSL のアップグレード#
tar -zxvf openssl-version.tar.gz
cd openssl-version
./config shared zlib
make && sudo make install
shared パラメータを追加して、zlib が見つからない問題を防ぎます。
2.1 元の openssl を移動してバックアップする#
sudo mv /usr/bin/openssl /usr/bin/openssl.bak
sudo mv /usr/include/openssl /usr/include/openssl.bak
2.2 システムの場所にシンボリックリンクを作成する#
sudo ln -s /usr/local/bin/openssl /usr/bin/openssl
sudo ln -s /usr/local/include/openssl /usr/include/openssl
2.3 openssl のライブラリをシステムに追加する#
sudo echo "/usr/local/openssl/lib64" > /etc/ld.so.conf.d/openssl.conf
# 追加したライブラリがシステムに見つかるようにする
sudo ldconfig
2.4 openssl のバージョンを確認する#
openssl version -a
3. OpenSSH のアップグレード#
3.1 元の openssh を移動してバックアップする#
sudo mv /etc/init.d/ssh /etc/init.d/ssh.old
sudo cp -r /etc/ssh /etc/ssh.old
3.2 OpenSSH をアップグレードする#
tar -zxvf openssh-version.tar.gz
cd openssh-version
# opensslのインストールパスを指定する必要があります
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl-dir=/usr/local/openssl --with-privsep-path=/var/lib/sshd
make && sudo make install
3.3 現在の SSH のバージョンを確認する#
ssh -V
sshd -V
五、デフォルトの設定の変更と復元#
cd /etc/ssh
sudo mv sshd_config sshd_config.default
sudo cp ../ssh.old/sshd_config ./
# 元の /etc/init.d/ssh を使用する
sudo mv /etc/init.d/ssh.old /etc/init.d/ssh
# 特定のサービスの注釈を解除する
sudo systemctl unmask ssh
# sshdを再起動する
sudo systemctl restart sshd
六、Telnet サービスの停止#
-
Telnet サービスを停止する:
sudo systemctl stop openbsd-inetd
-
Telnet サービスを無効にする:
sudo systemctl disable openbsd-inetd
-
Telnet サーバーをアンインストールする(オプション):
sudo apt remove telnetd
これにより、Telnet サーバーが完全に削除され、設定ファイルと実行可能ファイルも削除されます。
-
ファイアウォールで
23
ポートを閉じる:# 現在のファイアウォールルールを表示し、番号を付けて表示する sudo ufw status numbered # ファイアウォールルールを削除する sudo ufw delete <ルール番号>