« MPAndroidChart gradle 設定 | メイン | CentOS7 へ git2~ インストール »

UNIX

Centos7 の OpenSSH アップデート

 CentOS7 ミニマムインストールの OpenSSH をversion 7 から 9 へアップデートした記録。
前提
$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
$ ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
 CentOS7 のリポジトリは、インストール用 DVD iso イメージを マウントした LAN内の http://192.168.0.99/c7/ 。
$ diff /etc/yum.repos.d/CentOS-Media.repo.org /etc/yum.repos.d/CentOS-Media.repo
16c16,17
< baseurl=file:///media/CentOS/
---
> baseurl=http://192.168.0.99/c7/
>         file:///media/CentOS/
 GitHub で 公開されている yum コマンドで アップデートするための rpm 「openssh-9-centos-7」を使用。yum インストールコマンド
yum install https://github.com/amitsdalal/openssh-9-centos-7/raw/main/x86_64/openssh-9.0p1-1.el7.x86_64.rpm https://github.com/amitsdalal/openssh-9-centos-7/raw/main/x86_64/openssh-askpass-gnome-9.0p1-1.el7.x86_64.rpm https://github.com/amitsdalal/openssh-9-centos-7/raw/main/x86_64/openssh-debuginfo-9.0p1-1.el7.x86_64.rpm https://github.com/amitsdalal/openssh-9-centos-7/raw/main/x86_64/openssh-askpass-9.0p1-1.el7.x86_64.rpm https://github.com/amitsdalal/openssh-9-centos-7/raw/main/x86_64/openssh-clients-9.0p1-1.el7.x86_64.rpm https://github.com/amitsdalal/openssh-9-centos-7/raw/main/x86_64/openssh-server-9.0p1-1.el7.x86_64.rpm
を DVD iso イメージで 依存関係を解決するように
$ sudo yum --disablerepo=* --enablerepo=c7-media install https://github.com/amitsdalal/openssh-9-centos-7/raw/main/x86_64/openssh-9.0p1-1.el7.x86_64.rpm https://github.com/amitsdalal/openssh-9-centos-7/raw/main/x86_64/openssh-askpass-gnome-9.0p1-1.el7.x86_64.rpm https://github.com/amitsdalal/openssh-9-centos-7/raw/main/x86_64/openssh-debuginfo-9.0p1-1.el7.x86_64.rpm https://github.com/amitsdalal/openssh-9-centos-7/raw/main/x86_64/openssh-askpass-9.0p1-1.el7.x86_64.rpm https://github.com/amitsdalal/openssh-9-centos-7/raw/main/x86_64/openssh-clients-9.0p1-1.el7.x86_64.rpm https://github.com/amitsdalal/openssh-9-centos-7/raw/main/x86_64/openssh-server-9.0p1-1.el7.x86_64.rpm
オプション指定して OpenSSH アップデート。SSH接続している場合、トラブルで接続できなくならないよう そのまま操作を継続。
$ ssh -V
OpenSSH_9.0p1, OpenSSL 1.0.2k-fips  26 Jan 2017
アップデート成功するものの
$ sudo systemctl restart sshd.service
Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.
となりsshd起動エラー。...▼
メッセージに示されたコマンド
$ systemctl status sshd.service
$ journalctl -xe
で確認すると
It is required that your private key files are NOT accessible...ers.
This private key will be ignored.
Unable to load host key "/etc/ssh/ssh_host_ed25519_key": bad ...ions
Unable to load host key: /etc/ssh/ssh_host_ed25519_key
sshd: no hostkeys available -- exiting.
[失敗]
sshd.service: control process exited, code=exited status=1
Failed to start SYSV: OpenSSH server daemon.
Unit sshd.service entered failed state.
sshd.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
秘密鍵の他人への read 権限が厳密に?
$ ls -al /etc/ssh
合計 548K
drwxr-xr-x.  2 root root      277 10月 16 09:34 .
drwxr-xr-x. 78 root root     8.0K 10月 16 09:44 ..
-rw-------   1 root root     494K  8月 10  2022 moduli
-rw-r--r--   1 root root     1.5K  8月 10  2022 ssh_config
-rw-------   1 root root     1.4K 10月 16 09:34 ssh_host_dsa_key
-rw-r--r--   1 root root      616 10月 16 09:34 ssh_host_dsa_key.pub
-rw-r-----   1 root ssh_keys  227  4月 19 17:01 ssh_host_ecdsa_key	←★
-rw-r--r--   1 root root      162  4月 19 17:01 ssh_host_ecdsa_key.pub
-rw-r-----   1 root ssh_keys  387  4月 19 17:01 ssh_host_ed25519_key	←★
-rw-r--r--   1 root root       82  4月 19 17:01 ssh_host_ed25519_key.pub
-rw-r-----   1 root ssh_keys 1.7K  4月 19 17:01 ssh_host_rsa_key	←★
-rw-r--r--   1 root root      382  4月 19 17:01 ssh_host_rsa_key.pub
-rw-------   1 root root     3.1K  8月 10  2022 sshd_config
グループの read 権を外して
$ sudo chmod g-r /etc/ssh/ssh_host_rsa_key
$ sudo chmod g-r /etc/ssh/ssh_host_ed25519_key
$ sudo chmod g-r /etc/ssh/ssh_host_ecdsa_key
起動成功。
$ sudo systemctl start sshd.service
SSH接続もOK。

 他に apache,mysql,phpなどをインストールした CentOS7サーバで、sshd は起動するものの
PAM unable to dlopen(/usr/lib64/security/pam_stack.so): /usr/lib64/security/pam_stack.so: cannot open shared object file: No such file or directory
PAM adding faulty module: /usr/lib64/security/pam_stack.so
でSSH接続失敗。「/usr/lib64/security/pam_stack.so」が無くSSH接続出来ない場合
$ sudo /etc/pam.d/sshd
で
#%PAM-1.0
auth       required     pam_stack.so service=system-auth
account    required     pam_nologin.so
account    required     pam_stack.so service=system-auth
password   required     pam_stack.so service=system-auth
session    required     pam_stack.so service=system-auth
の「required pam_stack.so」を次のように修正
#%PAM-1.0
auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
session    include      system-auth
して回避できます。

トラックバック

このエントリーのトラックバックURL:
https://remix.asia/cgi/mt/mt-tb.cgi/7771

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)