CentOS7 ミニマムインストールの OpenSSH をversion 7 から 9 へアップデートした記録。
前提
」を使用。yum インストールコマンド
前提
$ cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)
$ ssh -V OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017CentOS7 のリポジトリは、インストール用 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 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起動エラー。...▼
メッセージに示されたコマンド
他に apache,mysql,phpなどをインストールした CentOS7サーバで、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.serviceSSH接続も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して回避できます。