個人メモとして残しておきます。
実行環境:
クライアント側: MacOS ターミナル
サーバ側: Ubuntu 20.04 LTS
VMインスタンス作成後の初期設定
作業概要
- 新規ユーザー作成
- 公開鍵認証の設定
- パスワード認証、rootのログイン無効化
1. 新規ユーザー作成
サーバー側
# 新規ユーザを追加
$ adduser ユーザー名
# sudoグループに追加 (と確認コマンド)
$ gpasswd -a ユーザー名 sudo
$ cat /etc/passwd
2. 公開鍵認証の設定
クライアント側
# 鍵を作成
$ cd ~/.ssh
$ ssh-keygen -t rsa
$ chmod 700 ~/.ssh/id_rsa.pub
# サーバに公開鍵を渡す
scp -P 22 ~/.ssh/id_rsa.pub ユーザー名@ホスト名やIPアドレス:~/.ssh/authorized_keys
サーバ側
# パーミッションを変える
chmod 600 ~/.ssh/authorized_keys
# サーバ側で公開鍵認証を許可する
$ vi /etc/ssh/sshd_config
#PubkeyAuthentication yes
↓
PubkeyAuthentication yes
# 再起動
$ systemctl restart sshd
公開鍵認証の確認
# クライアント側にて。公開鍵によるログイン確認
ssh -i .ssh/id_rsa ユーザー名@ホスト名やIPアドレス
3. パスワード認証、およびrootログインの無効化
サーバー側
# パスワード認証、およびrootログインの無効化
$ vi /etc/ssh/sshd_config
#PasswordAuthentication yes
↓
PasswordAuthentication no
PermitRootLogin yes
↓
PermitRootLogin no
# 再起動
$ systemctl restart sshd
# ログアウトして、パスワード認証できないことを確認
$ ssh ユーザー名@ホスト名やIPアドレス -o PreferredAuthentications=password
# rootログインもできないことを確認
$ ssh root@ホスト名やIPアドレス
メモ
新規ユーザーでログインできることを確認してからrootログイン無効化すること。
サーバに入れなくなる(恐)