質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

6006閲覧

CentOS8.1で、ssh接続ができない。

ami0218

総合スコア10

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

1クリップ

投稿2020/03/10 01:22

前提・実現したいこと

クライアント(Windows10)から、CentOS8.1のサーバに対してssh接続を
行いたいです。

発生している問題・エラーメッセージ

クライアントからCentOS8.1のサーバへssh接続を行おうとすると、
以下のメッセージが返却されます。

接続が拒否されました。

試したこと

systemctl staus sshd を実行し、sshdの状態を確認し、以下の結果が返却されたことを確認。

Process: 5130 ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY (code=exited, status=127)

systemctl start sshd を実行しても正常に起動しない為、/var/log/messages の内容を
確認したところ、以下のログが記録されていました。

Mar 10 10:12:55 platinum systemd[1]: Starting OpenSSH server daemon... Mar 10 10:12:55 platinum sshd[5634]: /usr/sbin/sshd: relocation error: /usr/sbin/sshd: symbol EVP_KDF_ctrl version OPENSSL_1_1_1b not defined in file libcrypto.so.1.1 with link time reference Mar 10 10:12:55 platinum systemd[1]: sshd.service: Main process exited, code=exited, status=127/n/a Mar 10 10:12:55 platinum systemd[1]: sshd.service: Failed with result 'exit-code'. Mar 10 10:12:55 platinum systemd[1]: Failed to start OpenSSH server daemon.

補足情報(FW/ツールのバージョンなど)

環境
・CentOS8.1
・OpenSSL 1.1.1d

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukky1201

2020/03/10 01:58

どのようにインストールしたのか、インストールした直後からsshdが起動しないのか、設定を変更したのかなど状況を詳しく記載いただけると解決の糸口になるかもしれません。 インストール後何もしてないのに、、、ということでしたら再インストールしてみるのもよいでしょう
Takumiboo

2020/03/10 03:06

エラー内にOpenSSL 1.1.1bという記述がありますが、OS標準のOpenSSLから独自にコンパイルしてOpenSSL 1.1.1dに更新していたりしますか?
amura

2020/03/10 04:14

ssh -V でのOpenSSLのバージョンは一致しておりますでしょうか?
ami0218

2020/03/10 05:41

皆さま、ご回答ありがとうございます。 OSはCentOS8.0のisoイメージを用いてインストールしました。 OpenSSLは、OpenSSL1.1.1dのソースファイルを用いてコンパイルしております。 OpenSSLのバージョンは、/etc/profileにパスを通すように記載したため、openssl version コマンドを 投入すると、OpenSSL 1.1.1d 10 Sep 2019 と表示されます。 ssh -V を実行すると、以下の様に表示されます。 ssh: symbol EVP_KDF_ctrl version OPENSSL_1_1_1b not defined in file libcrypto.so.1.1 with link time reference OS及びOpenSSLのソースからのコンパイル直後はSSH接続は出来ていたのですが、 dnf upgradeを繰り返しているうちにSSH接続ができなくなっていた、というのが 正直なところです。
amura

2020/03/10 05:58 編集

lsで /usr/lib64/libcrypto.so.1.1 -> libcrypto.so.1.1.1c 多分後ろが違っているとは思います。OPENSSL_1_1_1bシンボルがlibcrypto.so.1.1.1c には入っております。sshdもソースコンパイルされてはいかがでしょうか。 ssh -V OpenSSH_8.0p1, OpenSSL 1.1.1c FIPS 28 May 2019
guest

回答2

0

ベストアンサー

Mar 10 10:12:55 platinum sshd[5634]: /usr/sbin/sshd: relocation error: /usr/sbin/sshd: symbol EVP_KDF_ctrl version OPENSSL_1_1_1b not defined in file libcrypto.so.1.1 with link time reference

EVP_KDF_ctrl() が libcrypto.so.1.1 に無い為 sshd が起動できなくなっています。
EVP_KDF_ctrl() は OpenSSL の開発版である 3.0 で(多分)追加された関数ですが、CentOS や RHEL, Fedora のOpenSSL 1.1.1 ではパッチとしてこの関数や他のさまざまな機能が取り込まれています。
その為、素の OpenSSL 1.1.1d をソースからビルドして上書きインストールしてしまうと関数などが足りずに OpenSSL を利用するソフトウェアが正しく動かなくなってしまいます。

対処としては dnf で OpenSSL を再インストールをする事が挙げられますが、OpenSSL がまともに動かない状態だと再インストールも出来ないかもしれません。その場合はOSの再インストールをお勧めします。


手元でちょっと試してみましたが、config時にインストール先のパスを指定しない場合は /usr/local 下にインストールされますね。

もしかしてインストール先はデフォルトのままにして、/etc/ld.so.conf.d/ にファイルを作って共有ライブラリの検索パスを追加しましたか?
それならば追加したファイルを削除して ldconfig -v をし直せば大丈夫なはずです。

# cd /etc/ld.so.conf.d # grep -l /usr/local * local.conf:/usr/local/lib64 # rm local.conf # ldconfig -v

投稿2020/03/10 16:53

編集2020/03/11 02:49
doda

総合スコア947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ami0218

2020/03/11 08:59

皆さま お忙しい中、ご回答ありがとうございます。 時間が空いた時に、早速確認致します。 取り急ぎ、御礼まで。
ami0218

2020/03/15 02:04

返答が遅くなり申し訳ございません。 インストール先は、/usr/local/ssl にしました。 ライブラリの参照先を設定するために、/etc/ld.so.conf の設定ファイルに、 /usr/local/ssl/lib を追記しました。
ami0218

2020/03/15 07:46

OSを新規にインストールした真っ新な状態で、openSSL 1.1.1d をソースインストールしても 同様の状態になりました。 ご指摘の通り、/etc/ld.so.conf の設定ファイルに記した共有ライブラリの検索パスを削除し、 ldconfig -vし直したところ、SSHが利用できるようになりました。 OpenSSLのバージョンも1.1.1cとなっています。 ありがとうございました。
guest

0

VirtualBOXの仮想環境上にCentOS8.1をいれて試行してみましたが起動していましました。

インストール

# cd /usr/local/src/ # tar xzvf openssl-1.1.1d.tar.gz # cd openssl-1.1.1d # ./config -fPIC shared # make # make install

sshd再起動
(Errorは出ているがsshdは起動しているし、teratermにてsshログインもできる)

# systemctl restart sshd # systemctl status sshd ● sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-03-10 18:42:16 JST; 2min 25s ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 826 (sshd) Tasks: 1 (limit: 5035) Memory: 5.6M CGroup: /system.slice/sshd.service mq826 /usr/sbin/sshd -D -oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc,aes128-gcm@openssh.com,aes128-ctr,aes128-cbc -oMACs=hmac-sha2-256-etm@o> 3月 10 18:42:15 centos81 systemd[1]: Starting OpenSSH server daemon... 3月 10 18:42:16 centos81 sshd[826]: Server listening on 0.0.0.0 port 22. 3月 10 18:42:16 centos81 sshd[826]: Server listening on :: port 22. 3月 10 18:42:16 centos81 systemd[1]: Started OpenSSH server daemon. 3月 10 18:42:27 centos81 sshd[1506]: error: kex_exchange_identification: banner line contains invalid characters 3月 10 18:42:27 centos81 sshd[1506]: error: send_error: write: Broken pipe 3月 10 18:43:44 centos81 sshd[1555]: Accepted password for root from 10.0.2.2 port 53368 ssh2 3月 10 18:43:44 centos81 sshd[1555]: pam_unix(sshd:session): session opened for user root by (uid=0)

バージョン確認

# openssl version OpenSSL 1.1.1d 10 Sep 2019 (Library: OpenSSL 1.1.1c FIPS 28 May 2019) # ssh -V OpenSSH_8.0p1, OpenSSL 1.1.1c FIPS 28 May 2019

投稿2020/03/10 09:54

yukky1201

総合スコア2751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問