Ubuntu + EC2でssh環境を整えていく

前回、作成した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

次はいよいよLAMPのAです。