前回、作成したUbuntuのまっさらなサーバをsshで整えていきます。
cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
Ubuntuのバージョン、20.04.2で動いているのを確認。
デフォルトのubuntuユーザーをまず違うユーザーに変更しよう。と思い立った所、早速、Ubuntuの洗礼をうけることになりました。
useradd でホームディレクトリができない。
調べてみると、adduserコマンドだと大丈夫みたいです。
adduser --disabled-password monmon
公開鍵でログインさせるので、パスワードナシで作るとなるとこんな感じです。
質問には全部default回答し、エンターを連打。
su - monmon
でログインできました。
sudoの権限を付与します。
sudoの権限を新規ユーザー与えるため、rootユーザーになった後。
visudo -f /etc/sudoers.d/90-cloud-init-users
で、以下のように新規ユーザーを追加。
monmon ALL=(ALL) NOPASSWD:ALL
ひとまず諸々の設定を終えて、ユーザー monmonでのログインから sudo が使えるようになった。今後、ubuntoユーザーからのsudoは許可しないのであれば任意のタイミングで、ubuntoユーザーの行はコメントアウトすると良いです。
次は鍵認証でsshできるように。
まずログインしたいユーザーのホームディレクトリに公開鍵用のディレクトリを作成し、パーミッションを変更します。
mkdir .ssh
chmod 700 .ssh/
cd .ssh
公開鍵を以下のファイルを新規作成し書き込みます。
vi authorized_keys
authorized_keysも、パーミッションを変更します。
chmod 600 authorized_keys
sshdの設定
次にsshdの設定に移ります。
sudo vi /etc/ssh/sshd_config
これで設定ファイルを変更していきます。
#Port 22
Port 10022
ポート番号をこのような感じで変更してアタックを軽減させます。
EC2の場合、セキュリティグループの設定でも、この新しいポート番号を通しておく必要があるので超注意。
今後、サーバの設定を行っていく中ででてくる必要なポートは、すべてここでアクセス許可してあるものと考えて下さい。
次に、sshでのrootの直接ログインを禁止しようと思ったら、
PermitRootLogin no
sshでパスワードの利用を禁止しようと思ったら、
PasswordAuthentication no
を設定。
sshd_configの変更後、ubuntoでのプロセスを再起動はどうやるんだっけと思いきや、普通に、systemctl が使えました。パッケージのインストール周りが yum から apt に変わるらしいのですが……使ってみたいです。
sudo systemctl restart sshd
sshdを再起動後、試しに新しいユーザーでアクセスしてみる。
ssh -i "/hogehoge/fugafuga/monmon.pem" monmon@サーバのIPアドレスだぜ。 -p 10022
ログインできました。
今後はこちらで作業していきます。
あと、ubuntuユーザーも今後使わないので削除しておきました。
こっちは、userdelでOKです。
userdel -r ubuntu
ホームディレクトリごとさらばです。
ついでにタイムゾーンの設定もちょろっと。
timedatectl set-timezone Asia/Tokyo