VPSに新しいユーザーを作成してPEM鍵でSSH接続する方法

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ユーザーに登録する

生成した公開鍵を newuserauthorized_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接続が可能になりました。
セキュリティの観点から、パスワードログインは無効化し、鍵認証のみを利用することを強くおすすめします。