既にインストールされているので、認証方法を変更する。
「/etc/ssh/sshd_config」を観ると
「Include /etc/ssh/sshd_config.d/*.conf」と記述されているので
ディレクトリ「/etc/ssh/sshd_config.d/」内に「user.sshd.conf」
を新規作成し、以下を記述して保存
PubkeyAuthentication yes
PasswordAuthentication no
Port ?????
SSH接続する端末で
「/home/ユーザー」にディレクトリ「.ssh」を作成
$ mkdir -p -m 700 .ssh
更に「/home/ユーザー/.ssh」内にファイル「authorized_keys」を作成
$ echo "" > .ssh/authorized_keys
$ sudo chmod 600 .ssh/authorized_keys
SSH接続するWindows端末で接続ユーザーの秘密鍵を作成する
コマンドプロンプトを実行
cd .ssh
ssh-keygen -t ed25519 -f id_ed25519
するとディレクトリ「C:\Users\ユーザー名\.ssh」内に
ファイル「id_ed25519」と「id_ed25519.pub」が作成される。
「id_ed25519.pub」をサーバーの接続ユーザーのディレクトリ「/home/ユーザー/.ssh」へコピー
「authorized_keys」へ追加する
$ cat .ssh/id_ed25519.pub >> .ssh/authorized_keys
SSHを再起動
$ sudo -i
# service sshd restart
ポート確認
$ sudo -i
# firewall-cmd --list-ports
# firewall-cmd --list-all
ポート開放
# firewall-cmd --zone=public --add-port=?????/tcp
# firewall-cmd --zone=public --add-port=?????/tcp --permanent
# firewall-cmd --zone=public --add-service=ssh
# firewall-cmd --zone=public --add-service=ssh --permanent
# firewall-cmd --reload
余計なポートを閉じる
# firewall-cmd --remove-port=?????/tcp
# firewall-cmd --remove-service=ssh
# firewall-cmd --runtime-to-permanent