VPSを利用する際、セキュリティを強化するためにパスワードログインではなくPEM鍵による認証を使うことが推奨されます。この記事では、Ubuntu VPSに新しいユーザーを作成し、そのユーザー用にPEM鍵を生成して接続する方法を解説します。
目次
1. VPSにログインする
まず、現在利用可能なユーザー(例:vpsuser
)でVPSにログインします。
bashコピーする編集するssh vpsuser@xxx.xxx.xxx.xxx
2. 新しいユーザーを作成する
例として newuser
というユーザーを作成します。
bashコピーする編集するsudo adduser newuser
必要に応じて管理者権限を付与します。
bashコピーする編集するsudo usermod -aG sudo newuser
3. .ssh
ディレクトリを作成する
newuser
ユーザー用のSSHディレクトリを準備します。
bashコピーする編集するsudo mkdir -p /home/newuser/.ssh
sudo chown newuser:newuser /home/newuser/.ssh
sudo chmod 700 /home/newuser/.ssh
4. PEM鍵を生成する
現在ログインしているユーザーでPEM鍵を生成します。
bashコピーする編集するssh-keygen -t rsa -b 4096 -m PEM -f ~/newuser.pem
これで以下のファイルが作成されます。
- 秘密鍵:
~/newuser.pem
- 公開鍵:
~/newuser.pem.pub
5. 公開鍵をnewuser
ユーザーに登録する
生成した公開鍵を newuser
の authorized_keys
に追加します。
bashコピーする編集するsudo sh -c "cat /home/vpsuser/newuser.pem.pub >> /home/newuser/.ssh/authorized_keys"
sudo chown newuser:newuser /home/newuser/.ssh/authorized_keys
sudo chmod 600 /home/newuser/.ssh/authorized_keys
6. 秘密鍵をローカルPCへコピーする
ローカルPCで以下を実行し、秘密鍵をダウンロードします。
bashコピーする編集するscp vpsuser@xxx.xxx.xxx.xxx:/home/vpsuser/newuser.pem ~/Downloads/newuser.pem
コピー後、セキュリティのためVPS上の秘密鍵を削除するのもおすすめです。
bashコピーする編集するrm ~/newuser.pem ~/newuser.pem.pub
7. ローカルで権限を設定する
ローカルPCで以下を実行します。
bashコピーする編集するchmod 600 ~/Downloads/newuser.pem
8. SSH接続をテストする
以下のコマンドで newuser
ユーザーとしてログインします。
bashコピーする編集するssh -i ~/Downloads/newuser.pem newuser@xxx.xxx.xxx.xxx
まとめ
これで、VPSに新しいユーザーを作成し、PEM鍵を使ったセキュアなSSH接続が可能になりました。
セキュリティの観点から、パスワードログインは無効化し、鍵認証のみを利用することを強くおすすめします。