#はじめに
CentOS8(1905)が9/24にリリースされました。
これを機に趣味サーバの中を整理するためクリーンインストールすることにしました。
最低限、OpenSSHの鍵認証でリモート接続ができるまで一旦セットアップしたので、メモとして残しておきます。
クライアントPCはWindows10です。
##1. ダウンロード~インストール
特になし。
##2. pubキーの設置
ここからパスワード認証のSSHでリモート操作になります。
一連の操作が完了して鍵認証での接続確認ができるまでターミナル画面は絶対閉じないでください。
おおよそサーバー側でローカル操作する羽目になります。
$ mkdir ~/.ssh
$ chmod -R 700 ~/.ssh
$ vi ~/.ssh/authorized_keys #今まで使ってたpubキーをコピペ
$ chmod 600 ~/.ssh/authorized_keys
##3. sshd_configの設定
自由に使える最初のポート番号49152を例にしています。
sshd_configは最低限必要箇所の抜粋です。
$ sudo vi /etc/ssh/sshd_config
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
Port 49152 #デフォルト:#Port 22
#AddressFamily any
ListenAddress 0.0.0.0
ListenAddress ::
#--中略--
# Authentication:
#LoginGraceTime 2m
PermitRootLogin no #デフォルト:PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
PubkeyAuthentication yes #デフォルト:#PubkeyAuthentication yes
#--中略--
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication no #デフォルト:PasswordAuthentication yes
##4. firewalldの設定
$ sudo firewall-cmd --add-port=49152/tcp --permanent
$ sudo firewall-cmd --reload
$ sudo firewall-cmd --list-port
49152/tcp
##5. SELinuxの設定
CentOS7まではpolicycoreutils-pythonだけでインストールできてた気がしましたが、policycoreutils-python-utilsとする必要があるみたいです。
最後にsshdを再起動します。
$ sudo dnf install -y policycoreutils-python-utils
$ sudo semanage port --add --type ssh_port_t --proto tcp 49152
$ sudo semanage port --list | grep ssh
ssh_port_t tcp 49152, 22
$ sudo systemctl restart sshd
$ sudo systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Sat yyyy-MM-dd hh:mm:ss JST; ●h ●min ago
##6. 接続確認
操作してきたターミナルは閉じずに、新しくターミナルを起動して接続確認します。
接続できれば完了です、お疲れ様でした。
ssh -l user host -p 49152