CentOS 7 でソースコードから Openssh をインストールする方法

CentOS 7 でソースコードから Openssh をインストールする方法

環境: CentOS 7.1.1503 最小インストール

依存パッケージをダウンロードします: yum -y install lrzsz zlib-devel perl gcc pam-devel

1. opensslをインストールし、最新のリリースバージョンを選択します: openssl-1.1.1g.tar.gz

1) OpenSSL ダウンロード アドレス: https://www.openssl.org/source/openssl-1.1.1g.tar.gz

2) システムにプリインストールされているopensslをアンインストールします。この手順は省略できます。

rpm -qa | grep openssl | grep -v lib

yum -y 削除 openssl-1.0.1e-42.el7.x86_64

3) インストール手順:

tar -zxvfopenssl-1.1.1g.tar.gz

cdcd openssl-1.1.1g

./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl -Wl,-rpath,/usr/local/openssl/lib 共有

作成 && インストール

4) ソフトリンクを作成する

ローカルマシンでopensslコマンドを実行すると、

ローカルディレクトリにopenssl.includeというディレクトリを作成します。

5) システム構成を更新する

echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

ldconfig は

6) バージョンを確認する

openssl バージョン

2. opensshをインストールし、最新のリリースバージョンを選択します: openssh-8.3p1.tar.gz

1) OpenSSH ダウンロード アドレス: https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.3p1.tar.gz

2) システムのopenssh設定ファイルをバックアップする

cp -r /etc/sysconfig/sshd /etc/sysconfig/sshd.bak

cp -r /sys/fs/cgroup/systemd/system.slice/sshd.service /sys/fs/cgroup/systemd/system.slice/sshd.service.bak

cp -r /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.bak

cp -r /usr/lib/systemd/system/sshd.socket /usr/lib/systemd/system/sshd.socket.bak

cp -r /usr/lib/systemd/system/[email protected] /usr/lib/systemd/system/[email protected]

cp -r /usr/lib/systemd/system/sshd-keygen.service /usr/lib/systemd/system/sshd-keygen.service.bak

3) システムにプリインストールされているopensshをアンインストールします。この手順は省略できます。

rpm -qa | grep openssh

yum -y 削除 openssh-server-6.6.1p1-11.el7.x86_64 openssh-clients-6.6.1p1-11.el7.x86_64 openssh-6.6.1p1-11.el7.x86_64

4) openssh 設定ファイルをバックアップします。この手順は省略できます。

cp -r /etc/ssh /etc/ssh.bak

rm -rf /etc/ssh #このステップは非常に重要なので必ず実行してください

5) インストール手順

tar -zxvf openssh-8.3p1.tar.gz

openssh-8.3p1をインストールします

./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/openssl/include --with-ssl-dir=/usr/local/openssl --with-zlib --with-md5-passwords --with-pam --with-ssl-engine

作成 && インストール

6) ソフトリンクを作成する

sshd は、openssh の sbin ディレクトリにあります。

ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh

ln -s /usr/local/openssh/bin/ssh-add /usr/bin/ssh-add

ssh-keygen は、openssh のキーを生成するために使用します。

ssh-keyscan は、以下のコマンドで実行します。

7) バックアップした設定ファイルを復元する

mv /etc/sysconfig/sshd.bak /etc/sysconfig/sshd

mv /sys/fs/cgroup/systemd/system.slice/sshd.service.bak /sys/fs/cgroup/systemd/system.slice/sshd.service

mv /usr/lib/systemd/system/sshd.service.bak /usr/lib/systemd/system/sshd.service

mv /usr/lib/systemd/system/sshd.socket.bak /usr/lib/systemd/system/sshd.socket

mv /usr/lib/systemd/system/[email protected] /usr/lib/systemd/system/[email protected]

mv /usr/lib/systemd/system/sshd-keygen.service.bak /usr/lib/systemd/system/sshd-keygen.service

8) OpenSSHのバージョンを確認する

ssh -V

9) OpenSSH設定ファイルを修正してルートログインを許可する

vi /etc/ssh/sshd_config

#PermitRootLogin prohibit-password を PermitRootLogin yes に変更します

10) 起動時にsshdサービスが開始するように設定する

chkconfig sshd オン

11) sshdサービスを再起動する

systemctl sshd を再起動します && systemctl sshd を再起動します && systemctl sshd を再起動します && systemctl sshd を再起動します &

この時点で、opensshサービスのインストールは完了です。心配な場合は、マシンを再起動してください。

ps: Linux で openssl をコンパイルしてインストールするときにダイナミック リンク ライブラリ .so が生成されない問題を解決する方法を見てみましょう。

公式サイトで提供されている config コマンドは、デフォルトでは .so を生成しません。解決策は、./config を実行するときに shared パラメータを追加することです。例:

./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -Wl,-rpath,/usr/local/ssl/lib 共有

次にmake && make installを実行します

要約する

Centos 7 ソースコードから openssh をインストールする方法についての記事はこれで終わりです。 Centos 7 ソースコードから openssh をインストールする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。 今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • CentOS のデフォルトの SSH ポート番号を変更する方法の例
  • CentOS7でSSHポート番号を追加または変更する方法
  • CentOS7でSSHログインポートを変更する方法
  • CentOS7にsshをインストールして設定する

<<:  JavaScript における型の必須および暗黙的な変換の詳細な説明

>>:  NavicatがMySQLに接続すると、10060、1045エラーとmy.iniの場所が報告されます。

推薦する

Alibaba Cloud OSS アクセス権設定(RAM 権限制御)実装

シナリオmyBuket の static/material/ ディレクトリなど、Alibaba Cl...

要素の円弧モーションを実現する CSS3 サンプルコード

CSS を使用して要素の円弧の動きを制御する方法CSS3 の新しい属性 transfrom トランジ...

Vueは2つのルーティング許可制御メソッドを実装しています

目次方法 1: ルーティング メタ情報 (meta)方法 2: ルーティング テーブルを動的に生成す...

Vueがsweetalert2プロンプトコンポーネントを統合する際の問題についてお話ししましょう

目次1. プロジェクト統合1. CDNインポート方法: 2. 箱の梱包を確認する3. 迅速な箱詰め4...

MySQLデータ内の多数の改行と復帰に対する解決策

目次問題を見つける1. 改行と復帰を削除する方法2. SELECTクエリで「改行と復帰」を無視する方...

固定、流動的、柔軟なウェブページレイアウトの長所と短所の分析

ウェブデザイナーを長い間悩ませてきた疑問があります。それは、固定レイアウト、流動的レイアウト、柔軟レ...

Mysql 5.6.37 winx64 インストール デュアル バージョン mysql ノート

マシンに MySQL バージョン 5.0 がすでに存在する場合は、最新バージョンの MySQL のイ...

GoogleとFacebookがDockerを使わない理由

この記事を書いた理由は、修正した分散 PyTorch プログラムを Facebook のクラスター上...

Centos8でdockerがインストールできない問題の解決方法

問題 [root@zh ~]# [root@zh ~]# [root@zh ~]# yum -y d...

nginx を使用したプロキシ サーバーの設定

Nginx は、リバース プロキシ機能を使用して負荷分散を実装できるほか、フォワード プロキシ機能を...

Docker データボリュームコンテナの作成と使用状況分析

データ ボリューム コンテナーは、データ ボリュームをマウントするために特別に使用されるコンテナーで...

dockerエラーの原因分析 終了しました (1) 4分前

Dockerエラー1. 原因を確認するdocker ログ ネクサス2. エラーの原因OpenJDK ...

Vueライフサイクルの詳細な説明

目次ライフサイクルを理解する理由ライフサイクルとはライフサイクルフック関数作成され、マウントされたフ...

HTML入力ボックスの最適化により、ユーザーエクスペリエンスと使いやすさが向上します。

ユーザーエクスペリエンスと使いやすさを向上させるために、入力ボックスなど、Web ページでユーザーが...