🛠 Ubuntuで新しいユーザーを作成しSSH接続を許可する方法
📌 はじめに
この記事では、Ubuntuサーバーに新しいユーザーを追加し、そのユーザーがSSHでリモートログインできるように設定する方法を解説します。作業にはroot権限(またはsudo
権限)が必要です。
パスワード認証と公開鍵認証の両方について触れますが、セキュリティの観点からは公開鍵認証の使用を推奨します。
👤 ユーザーの作成
まずは新しいユーザーアカウントを作成します。
sudo adduser ユーザー名
パスワードやフルネームなどを求められますが、未入力(Enter連打)でも問題ありません。
🔐 SSHログインの許可
sshd_config
の確認
/etc/ssh/sshd_config
ファイルを編集して、パスワード認証の有無を確認します。
sudo nano /etc/ssh/sshd_config
以下のように設定されていれば、パスワード認証でSSHログインできます:
PasswordAuthentication yes
変更した場合は必ずSSHサービスを再起動してください:
sudo systemctl restart ssh
🛡 公開鍵認証(推奨)
セキュリティ強化のため、公開鍵認証の利用をおすすめします。
クライアント側で鍵を生成
ssh-keygen -t ed25519
RSA鍵を使いたい場合は -t rsa
でも可。ファイル名・パスフレーズは任意です。
公開鍵をサーバーに転送
ssh-copy-id ユーザー名@サーバーのIPアドレス
もし ssh-copy-id
が使えない場合は手動で登録します:
# サーバー側で以下を実行
mkdir -p /home/ユーザー名/.ssh
echo 公開鍵文字列 >> /home/ユーザー名/.ssh/authorized_keys
chmod 700 /home/ユーザー名/.ssh
chmod 600 /home/ユーザー名/.ssh/authorized_keys
chown -R ユーザー名:ユーザー名 /home/ユーザー名/.ssh
🔥 ファイアウォールの確認
SSH接続を許可していないとログインできません。
sudo ufw allow ssh
sudo ufw status
🧪 接続テスト
設定が完了したら、クライアント側からログインしてみます。
ssh ユーザー名@サーバーのIPアドレス
🧰 補足:公開鍵のみを許可する場合
セキュリティをさらに強化したい場合、sshd_config
に以下のように設定します:
PasswordAuthentication no
この場合、パスワードログインは完全に無効化され、公開鍵を持っていないとログインできなくなります。
✅ まとめ
-
adduser
でユーザーを作成 -
sshd_config
でSSHの認証方法を確認・調整 -
公開鍵認証を設定すればより安全
-
必要に応じてファイアウォールでSSHポートを開放
-
設定後にログインテストを忘れずに
SSHでのアクセスは便利ですが、セキュリティリスクも伴います。特に外部に公開するサーバーでは公開鍵認証+パスワード無効化+fail2banの導入などの多層防御が推奨されます。