はじめに
CentOS7系の運用環境をAlmaLinux9に更新したのに併せてAlmaLinux9の個人用開発環境をビルドした際に得た知見を備忘のため記します。
環境
- 仮想環境
- AlmaLinux 9.3
- openssh 8.7p1
接続用ユーザーの作成と公開鍵の配置
作業用のユーザーを作成し、公開鍵を配置します。鍵ペアは以前から使用しているもののため作成済みです。
# useradd -u 1001 -G wheel uta
# mkdir /home/uta/.ssh
# echo 'ssh-rsa 【公開鍵のテキスト】' > /home/uta/.ssh/authorized_keys
# chown uta.uta /home/uta/.ssh
# chmod 700 /home/uta/.ssh
# chmod 400 /home/uta/.ssh/authorized_keys
接続テスト
コンソール接続を試みたところ、公開鍵認証に失敗しました。
Using username "uta".
Server refused our key
uta@192.168.xx.xx's password:
調べてみたところ、openssh 8.8 から RSA署名での鍵ペアによる公開鍵認証をデフォルト拒否する 1 ようになったようです。
ED25519署名の鍵ペアを作成
新規の個人用環境のため、新たな鍵ペアを作成することにしました。
# su - uta
$ ssh-keygen -t ed25519
$ cat .ssh/id_ed25519.pub >> .ssh/authorized_keys
接続テスト2
作成された秘密鍵をホストOS側に移して、改めてコンソール接続を試みたところ、無事に接続できました。
Using username "uta".
Authenticating with public key "ed25519-key-20231217"
$
-
厳密にはopensshが拒否するのはSHA-1アルゴリズムを用いたRSA署名だけですが、現状では全てのRSA署名の鍵ペアで接続ができないようです。
参考: https://nulab.com/ja/blog/backlog/disables-rsa-sig-using-the-sha-1-in-openssh/ ↩