【CentOS8】さくらVPSサーバーの初期設定 2020年版
さくらのVPSをレンタルして設定したときの覚書。
サーバー環境: CentOS 8.1, OpenSSH_7.4p1, OpenSSL 1.0.2k-fips
クライアント環境: Windows 10, TeraTerm 4.95
1.OSインストール
「標準OS」をインストール。
カスタムOSで最小構成にしようとしたけどエラーになったのでやめた。
起動サービス確認
# systemctl list-unit-files -t service
ファイアウォールはコンソールから設定できるパケットフィルタを使い、VPS上でポート制御は行わない。
ホスト名変更
# hostnamectl set-hostname server01.dksg.co.jp
# hostnamectl status
SELinux確認
# getenforce
EPELリポジトリ追加
# dnf install epel-release
2.SSHの鍵認証
SSHのバージョン確認
# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
SSHでアクセスするときに鍵認証する。
公開鍵と秘密鍵の生成。
# ssh-keygen
パスフレーズはなし。
確認
# ssh-keygen -l
3072 SHA256
RSA 3072bitで生成されている。
sshdの設定変更。パスワードによる認証を無効化。
# less /etc/ssh/sshd_config
PubkeyAuthentication yesPasswordAuthentication no
AuthorizedKeysFileの名前に公開鍵を変更する。
# cd .ssh/
# mv id_rsa.pub authorized_keys
秘密鍵をアクセスするWindowsマシン側にコピーする。
一応名前を変えておく。
# less id_rsa
# mv id_rsa id_rsa.sshd
sshd再起動。今接続しているsshのセッションは切れないので大丈夫。
# systemctl restart sshd
TeraTermのパスワード認証でアクセスできないことを確認。
TeraTermで秘密鍵を指定してアクセスしてみる。
エラー
read error SSH2 private key fileerror:0906D06C:PEM routines:PEM_read_bio:no start line
PEM形式でないと怒られた。
確かに「BEGIN OPENSSH PRIVATE KEY」となっている。
最近デフォルト値が変わったらしい。
サーバー上でpem形式に変換。
-pはパスフレーズを変更するオプション(参考:ssh-keygen(1) - OpenBSD manual pages)。
# ssh-keygen -p -m pem -f id_rsa.sshd
確認
# ssh-keygen -l
3072 SHA256
秘密鍵を上書きする。
# less id_rsa.sshd
無事接続成功。
もしかしたら最新のTeraTermではOPENSSH PRIVATE KEYでも大丈夫になっているかもしれない。
【関連記事】