DigitalOcean の Ubuntu 18.04 のセットアップの手順。
Digitalocean の Initial Server Setup with Ubuntu 18.04 を参考にする。
仮想マシンの起動
スペックは一番低いやつでOK。後から変更が可能。
OS は Ubuntu 18.04 を選択。
SSH キーは登録したものを設定する。これが root の公開鍵に設定される。
droplets の Access の画面で IP アドレスや root のパスワードが確認できるので、 root のパスワードをリセットしておく。リセットしたパスワードはメールで届く。
SSHログイン
$ ssh -i 秘密鍵 root@IPアドレス
基本的な設定など
ログインしたら root で下記の作業をする。
apt-get で最新の状態に更新
# apt-get update
# apt-get dist-upgrade
reboot
カーネルなどもアップグレードされているので reboot する。
# reboot
SSHのセキュリティ設定
再度 root でログインをして sshd の設定を変更する。
# vi /etc/ssh/sshd_config
下記の部分を編集する。
PasswordAuthentication no
Port 任意のポート番号 ( 22 以外にしておく )
sshd を再起動する。
# service ssh restart
sshd のポート番号が変わっていることを確認する。
# lsof -i:ポート番号
ufw の設定
ufw で /etc/ssh/sshd_config
に設定したポート番号への接続を許可する。
# vi /etc/ufw/applications.d/openssh-server
最終行のポート番号を変更する。
[OpenSSH]
title=Secure shell server, an rshd replacement
description=OpenSSH is a free implementation of the Secure Shell protocol.
ports=ポート番号/tcp
ufw の有効化
# ufw app list
# ufw allow OpenSSH
# ufw enable
# ufw status
ユーザーの追加
# adduser {USERNAME}
追加したユーザーが sudo を利用できるようにする。
$ usermod -aG sudo {USERNAME}
公開鍵を設定する。
$ cd
$ mkdir .ssh
$ chmod 700 .ssh
$ vi .ssh/authorized_keys # 公開鍵を記載
$ chmod 600 .ssh/authorized_keys
root での ssh ログインを禁止する
$ vi /etc/ssh/sshd_config
PermitRootLogin
を no
にする。
PermitRootLogin no
sshd を再起動する。
$ sudo service ssh restart
Cloud Firewalls の設定
Cloud Firewalls で、今回変更した SSH ポート番号だけでしか SSH ログインできないように Firewall の設定を追加する。