DigitalOcean の CentOS 7 のセットアップの手順。
Digitalocean の Initial Server Setup with CentOS 7 を参考にする。
仮想マシンの起動
スペックは一番低いやつでOK。後から変更が可能。
OS は CentOS 7 を選択。
SSH キーは登録したものを設定する。これが root の公開鍵に設定される。
droplets の Access の画面で IP アドレスや root のパスワードが確認できるので、 root のパスワードをリセットしておく。リセットしたパスワードはメールで届く。
SSHログイン
$ ssh -i 秘密鍵 root@IPアドレス
基本的な設定など
ログインしたら root で下記の作業をする。
yum upddate とだいたい必要そうなパッケージをインストール
# yum update
# yum -y groupinstall base
# yum -y groupinstall network-tools
reboot
カーネルなどもアップグレードされているので reboot する。
# reboot
SSHのセキュリティ設定
# vi /etc/ssh/sshd_config
下記の部分を編集する。
PasswordAuthentication no
Port 任意のポート番号 ( 22 以外にしておく )
sshd を再起動する。
# systemctl restart sshd.service
ポート番号が変わっていることを確認する
# ss -antu | grep ssh
SeLinux の設定。
selinux で /etc/ssh/sshd_config
に設定したポート番号への接続を許可する。
# semanage port -a -t ssh_port_t -p tcp 設定する任意のポート番号
ユーザーの追加
基本的に root ユーザーで作業はしないのでユーザーを追加する。
# useradd {USERNAME}
# passwd {USERNAME}
追加したユーザーが sudo を実行できるように wheel グループに追加する
# usermod -aG wheel {USERNAME}
追加したユーザーに切り替える
# su {USERNAME}
公開鍵を設定する
$ cd
$ mkdir .ssh
$ chmod 700 .ssh
$ vi .ssh/authorized_keys # 公開鍵を記載
$ chmod 600 .ssh/authorized_keys
root ユーザーに戻って、 root での ssh ログインを禁止する
# vi /etc/ssh/sshd_config
PermitRootLogin
を no
にする。
PermitRootLogin no
sshd を再起動する。
$ systemctl restart sshd.service
Cloud Firewalls の設定
Cloud Firewalls で、今回変更した SSH ポート番号だけでしか SSH ログインできないように Firewall の設定を追加する。