はじめに
新しいUbuntu 20.04サーバーを設定する際、初期設定のステップを正しく実行することが重要です。これにより、サーバーのセキュリティが向上し、システムの操作性が向上します。この記事では、基本的な初期設定の手順を詳しく説明し、サーバー管理のための堅実な基盤を構築します。
ステップ1 — rootとしてログイン
サーバーにアクセスするためには、まずサーバーのパブリックIPアドレスとrootユーザーの認証情報(パスワードまたはSSHキー)が必要です。rootユーザーとしてログインする際には、以下のコマンドを使用します。your_server_ipの部分をご自身のサーバーのIPアドレスに置き換えてください。
ssh root@your_server_ip
ログイン時にホストの正当性に関する警告が表示された場合は、それを承認します。パスワード認証を使用している場合は、rootのパスワードを入力してログインします。SSHキーを使用している場合、初回接続時にパスフレーズの入力を求められることがあります。初めてログインする場合、rootパスワードの変更を求められることもあります。
rootユーザーについて
rootユーザーは、Linux環境における管理者ユーザーであり、システム全体に対する非常に強力な権限を持っています。このアカウントは日常的な使用には向いていません。誤操作による重大なシステム変更を防ぐためにも、rootユーザーを使わずに、別のユーザーアカウントを設定することを推奨します。
ステップ2 — 新しいユーザーアカウントの作成
rootとしてログインした後、通常の操作用に新しいユーザーアカウントを作成します。この新しいアカウントを使用して、日常的な作業を行います。
以下のコマンドを実行して、新しいユーザーを作成します。この例では「sammy」というユーザー名を使用していますが、ご自身の好みに合わせた名前に変更してください。
adduser sammy
パスワードの入力が求められます。強力なパスワードを設定し、必要に応じてその他の情報を入力します。これらは必須ではなく、ENTERキーを押すことでスキップできます。
ステップ3 — 管理者権限の付与
作成した新しいユーザーアカウントには、通常のユーザー権限が付与されますが、管理者権限が必要な場合もあります。そのため、新しいユーザーにsudo権限を追加して、管理者権限が必要な作業を行えるように設定します。
以下のコマンドを実行して、新しいユーザーをsudoグループに追加します。これにより、sudoコマンドを使用して管理者権限でコマンドを実行できるようになります。
usermod -aG sudo sammy
この設定により、通常のユーザーとしてログインしている状態で、管理者権限が必要なコマンドを実行する際に、コマンドの前にsudoを付けて実行することができます。
ステップ4 — 基本的なファイアウォールの設定
Ubuntu 20.04サーバーでは、UFW(Uncomplicated Firewall)を使用して特定のサービスへの接続のみを許可するように設定できます。以下の手順で、基本的なファイアウォールを設定し、サーバーを保護します。
まず、UFWのアプリケーションリストを確認し、現在の設定を確認します。次のコマンドを実行してください:
ufw app list
出力には、現在インストールされているアプリケーションが表示されます。SSH接続を維持するために、次のコマンドを実行して、OpenSSHを許可します:
ufw allow OpenSSH
次に、以下のコマンドを使用してUFWを有効にします:
ufw enable
これでファイアウォールが有効になり、SSH接続が許可されます。ステータスを確認するためには、次のコマンドを実行します:
ufw status
出力には、SSHが許可されていることが表示されます。他のサービスをインストールして設定する場合、そのサービスに対するアクセスを許可するために、UFW設定を調整する必要があります。
ステップ5 — ユーザーアカウントの外部アクセスの設定
新しいユーザーアカウントが作成され、適切に設定された後、そのアカウントに対する外部アクセス(SSHアクセス)を設定する必要があります。
以下の手順では、サーバーに対するSSHアクセスの設定方法について説明します。rootアカウントがパスワード認証またはSSHキー認証を使用しているかに応じて、適切な手順を選択してください。
rootアカウントがパスワード認証を使用している場合
rootアカウントがパスワードで保護されている場合、新しいユーザーアカウントにもパスワードでSSH接続が可能です。新しいターミナルセッションを開き、次のコマンドを使用して新しいユーザー名でサーバーにSSH接続します:
ssh sammy@your_server_ip
パスワードを入力してログインした後、必要に応じてsudoコマンドを使用して管理者権限でコマンドを実行します:
sudo command_to_run
セキュリティを強化するために、パスワード認証の代わりにSSHキー認証を設定することを強くお勧めします。
rootアカウントがSSHキー認証を使用している場合
rootアカウントがSSHキー認証を使用している場合、新しいユーザーアカウントにもSSHキーでログインできるように設定する必要があります。まず、rootユーザーの~/.ssh/authorized_keysファイルを新しいユーザーアカウントにコピーします。
以下のコマンドを使用して、rootユーザーの.sshディレクトリを新しいユーザーアカウントにコピーします。ユーザー名部分を新しいユーザー名に置き換えてください:
rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy
次に、新しいターミナルセッションを開き、新しいユーザー名でSSH接続します:
ssh sammy@your_server_ip
これでパスワードを使用せずに新しいユーザーアカウントにログインできます。sudoコマンドを使用して管理者権限でコマンドを実行することもできます。
まとめ
このガイドを通じて、Ubuntu 20.04サーバーの初期設定を行い、セキュリティと操作性を向上させるための基盤を築くことができました。これで、必要なソフトウェアをインストールし、サーバーの運用を開始する準備が整いました。日常的なサーバー管理においても、この設定が役立つことでしょう。