ウィンドウズマックソフトウェア設定セキュリティAndroid生産性リナックスパフォーマンスApple設定 すべて

UbuntuでSSHサーバーをセットアップする方法

編集済み 2 数週間前 によって ExtremeHow 編集チーム

SSHサーバーウブントゥリナックスネットワーキングセキュリティセットアップオペレーティングシステムリモートアクセスシステム

UbuntuでSSHサーバーをセットアップする方法

翻訳が更新されました 4 数週間前

はじめに

UbuntuでSSHサーバーを設定することは、リモート管理やファイル転送タスクにとって重要なステップです。SSH(Secure Shell)は、暗号化されたネットワークプロトコルで、未保護のネットワーク上での安全なデータ通信を可能にします。SSHは、リモートマシンにログインしてコマンドを実行したり、ネットワーク上のコンピュータ間でファイルを転送したりするために使用されます。このガイドでは、UbuntuシステムにSSHサーバーを設定する手順を説明します。

ステップ1: システムパッケージの更新

ソフトウェアをインストールする前に、システムのパッケージマネージャーが利用可能なソフトウェアパッケージとその依存関係について最新の情報を持っていることを確認することが重要です。これを達成するために、次のコマンドを実行してください:

sudo apt update

sudoコマンドは、通常システム管理タスクに必要な昇格された権限でコマンドを実行するために使用されます。apt updateコマンドは、パッケージリポジトリから利用可能なパッケージのリストを更新し、最新のバージョンにアクセスできるようにします。

ステップ2: OpenSSHサーバーのインストール

UbuntuのSSHサーバーパッケージはOpenSSHサーバーと呼ばれています。そのシンプルさ、安全性、および堅牢性から、Linuxエコシステムで最も使用されているSSHサーバーパッケージの1つです。OpenSSHサーバーをインストールするには、ターミナルで次のコマンドを実行してください:

sudo apt install openssh-server

このコマンドは、UbuntuパッケージリポジトリからOpenSSHサーバーパッケージを取得し、システムにインストールします。インストール中に、パッケージマネージャーが自動的にSSHサービスを開始します。

ステップ3: SSHサービスのステータスを確認する

OpenSSHサーバーがインストールされたら、SSHサービスが正しく動作しているかどうかを確認したくなります。SSHサービスのステータスを確認するために、次のコマンドを使用してください:

sudo systemctl status ssh

systemctlコマンドは、サービスを含むシステムユニットのステータスを確認するために使用されます。SSHサービスのステータスを確認すると、「active(running)」と表示されているはずです。稼働していない場合は、次のコマンドで開始できます:

sudo systemctl start ssh

SSHサービスを起動時に自動的に起動させたい場合は、次のコマンドを使用してください:

sudo systemctl enable ssh

ステップ4: SSHサーバーの設定

SSHサーバーの設定ファイルは/etc/ssh/sshd_configにあります。このファイルは、ポート番号、鍵交換アルゴリズム、認証方法など、SSHサーバーのさまざまなパラメーターを制御します。このファイルを適切に設定して、セキュリティとアクセスのニーズに合わせることが重要です。

デフォルトポートの変更

デフォルトでは、SSHサーバーはポート22で待ち受けますが、デフォルトポートを非標準ポートに変更することで、もう一つのセキュリティ層を提供できます。ポートを変更するには、テキストエディタでSSH設定ファイルを開きます。例えば、次のようにします:

sudo nano /etc/ssh/sshd_config

#Port 22という行を見つけて、次のように変更します:

Port 2222

行の先頭から#を取り除いてコメントを解除します。選択したポートが他のサービスで使用されていないことを確認してください。

ルートログインの無効化

SSH経由でのルートログインを許可すると、セキュリティリスクを引き起こす可能性があります。次の行を探して無効にすることをお勧めします:

PermitRootLogin yes

これを次のように変更します:

PermitRootLogin no

これを実行することで、ユーザーは非ルートユーザーとしてログインし、必要に応じてルートに切り替えることが保証されます。

公開鍵認証の有効化

公開鍵認証は、パスワード認証よりも安全です。有効にするには、sshd_configファイルに次の行が設定されていることを確認してください:

PubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys

この設定により、ユーザーアカウントの~/.ssh/authorized_keysファイルに保存されたSSHキーを使用してクライアントが認証できるようになります。

ステップ5: SSHサービスの再起動

SSH設定ファイルに変更を加えた後、変更を有効にするためにSSHサービスを再起動する必要があります:

sudo systemctl restart ssh

ポートを変更した場合は、新しいポートを指定してSSH接続する必要があります。例えば、SSHポートを2222に変更した場合は、ssh user@hostname -p 2222を使用します。

ステップ6: ファイアウォールルールの設定

Ubuntuサーバーでファイアウォールが有効になっている場合、SSH接続を許可する必要があります。UFW(Uncomplicated Firewall)を使用している前提で、次のコマンドでファイアウォールを有効にし、SSHトラフィックを許可します:

sudo ufw allow sshsudo ufw enable

デフォルトのSSHポートを変更した場合は、sshポート番号に置き換えてください。例:

sudo ufw allow 2222

このコマンドは、指定されたポートでSSHトラフィックを許可するようにファイアウォールルールを調整します。

ステップ7: SSHサーバーのテスト

SSHサーバーが正しく設定されていることを確認するために、別のマシン(別のコンピュータまたは仮想マシン)から接続を試みます。次のコマンドを使用してください:

ssh username@server_ip

usernameをサーバー上の実際のユーザー名に置き換え、server_ipをサーバーのIPアドレスまたはホスト名で置き換えます。ポートを変更した場合は、-pオプションを使用して指定する必要があります。例:

ssh username@server_ip -p 2222

接続が成功すると、ログインプロンプトが表示され、SSH経由でサーバーにログインできます。

ステップ8: SSHセキュリティの強化

SSHのセットアップのセキュリティをさらに強化して、不正アクセスを防ぐことが重要です。いくつかのヒントを紹介します:

Fail2Banの使用

Fail2Banは、不正アクセス攻撃を防ぐために失敗したログイン試行を監視するプログラムです。次のコマンドでインストールできます:

sudo apt install fail2ban

デフォルトでは、Fail2Banは3回のログイン失敗後にIPアドレスを10分間禁止します。これらの設定は、/etc/fail2ban/jail.localにある設定ファイルを編集してカスタマイズできます。

ユーザーアクセスの制限

特定のユーザーにのみSSHアクセスを許可することを検討してください。これを行うには、sshd_configファイルに次の行を追加します:

AllowUsers user1 user2

user1user2をSSHアクセスを許可したい実際のユーザー名に置き換えます。

これらの手順に従って、UbuntuシステムでSSHサーバーを効率的に設定し、セキュリティを強化することができます。このセットアップは、リモートシステム管理と安全なファイル転送のための堅牢で安全な環境を提供します。脆弱性を防ぐために、常にシステムとSSHサーバーを最新の状態に保つことを忘れないでください。

記事の内容に誤りがある場合, あなたは


コメント