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

LinuxでSSHを構成する方法

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

リモートアクセスセキュリティSSHサーバー管理コマンドライン設定暗号化クライアントネットワークアクセス認証

LinuxでSSHを構成する方法

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

LinuxシステムでSSH(Secure Shell)を構成することは、リモートシステムを安全に管理し通信するために基本的なタスクです。SSHは、安全でないネットワーク上に安全なチャネルを提供することで、デバイス間の通信が機密かつ安全であることを保証します。このガイドでは、Linuxマシン上でSSHを設定および構成する方法を探ります。誰でも理解しやすいように、簡潔なセクションに分けて説明します。

SSHとは何か、その利点

SSHはSecure Shellの略で、基本的にはユーザーがネットワーク上のデバイスに安全にアクセスし管理できるようにするネットワークプロトコルです。その主な目的の1つは、クライアントとサーバー間で送信されるデータを暗号化することによって、安全なチャネルを提供することです。また、安全なファイル転送やポート転送などの他の機能もサポートしています。

SSHを使用する主な利点は以下の通りです:

SSHを構成するための前提条件

SSHを構成する前に、いくつかの前提条件を満たす必要があります。これらの前提条件が満たされていることで、構成プロセスが容易になります。

ステップ1: SSHのインストール

多くのLinuxディストリビューションでは、デフォルトでSSHが付属しています。ただし、一部のケースでは手動でインストールする必要があります。通常必要なパッケージはopenssh-serverです。

Ubuntu/Debianへのインストール

ターミナルを開いて、次のコマンドを実行します:

sudo apt update 
sudo apt install openssh-server

CentOS/RHELへのインストール

次のコマンドを実行します:

sudo yum install openssh-server

SSHサービスの起動と有効化

インストール後、次のコマンドでSSHサービスを開始します:

sudo systemctl start ssh

SSHサービスが起動時に開始されるようにするには、次のコマンドで有効にします:

sudo systemctl enable ssh

CentOSやsshdという名前を使用しているシステムでは、上記のコマンドのsshsshdに置き換えてください。

ステップ2: SSHの構成

SSHがインストールされて起動したら、次はそれを必要に応じて構成します。SSHの主な構成ファイルは/etc/ssh/sshd_configにあります。

SSH構成ファイルの編集

お好みのテキストエディタを使用して構成ファイルを開きます。たとえば、nanoを使用する場合、次のようにします:

sudo nano /etc/ssh/sshd_config

必要な構成設定

次のような重要な設定を構成します:

ステップ3: SSHキーベースの認証を使用する

SSHキーは、サーバーにログインするためのより安全で便利な方法です。それにより、パスワードを記憶して入力する必要がなくなります。

SSHキーを生成する

クライアントマシンで次のコマンドを使用してキーペアを生成できます:

ssh-keygen -t rsa -b 4096

プロンプトに従ってキーを保存し、必要に応じてセキュリティを追加するためにパスフレーズを入力します。キーは通常~/.ssh/id_rsa(秘密鍵)と~/.ssh/id_rsa.pub(公開鍵)に保存されます。

公開鍵をサーバーにコピーする

ssh-copy-idを使用して公開鍵をサーバーにコピーします。このコマンドは~/.ssh/authorized_keysファイルに公開鍵を追加します:

ssh-copy-id user@hostname_or_ip

キーベース認証をテストする

キーがコピーされたら、SSH接続をテストしてキーベースの認証を使用しているか確認します:

ssh user@hostname_or_ip

すべてが正しく設定されている場合、パスワードは要求されません。

ステップ4: SSHセキュリティを強化する

セキュリティの強化は、データだけでなく、ネットワークとシステムへの不正アクセスからも保護します。SSHセキュリティを強化する方法をいくつか紹介します:

SSHキーに強力なパスフレーズを使用する

パスフレーズはSSHキーにセキュリティ層を提供します。強力で一意のパスフレーズを選択して、他人があなたの秘密鍵にアクセスした場合でも、パスフレーズなしでは使用できないようにします。

Rootユーザーに対してSSHを無効にする

前述のように、PermitRootLogin noを設定して、ルートユーザーとして直接ログインする機能を無効にします。代わりにsudoを使用して管理タスクを実行します。

非標準ポートを使用する

デフォルトのSSHポート(22)をあまり一般的でないポートに変更すると、自動攻撃のリスクを軽減できます。新しいポートがサーバーを保護するファイアウォールで開いていることを確認してください。

SSHキー認証のみを実装する

パスワードベースのログインを無効にし、SSHキーのみを使用することでブルートフォース攻撃のリスクを大幅に減少させます。キーベースの認証をセットアップした後、sshd_configを更新してPasswordAuthentication noを設定します。

ステップ5: テストとトラブルシューティング

SSHを構成した後、設定が想定どおりに動作することを確認するためにテストすることが重要です。

SSH接続のテスト

異なるユーザーアカウントでのログイン、キーベースのログインの使用、制限されたユーザーがアクセスできないことの確認など、異なるシナリオでSSH設定をテストします。

一般的な問題のトラブルシューティング

問題が発生した場合、最初に確認するのはSSHサーバーログで、通常/var/log/auth.logまたは/var/log/secureにあります。これらのログは認証または構成の問題に関する手がかりを提供します。

結論

結論として、LinuxシステムにSSHを構成することは、デバイスにリモートでアクセスし管理する安全な方法を提供します。このガイドの手順に従うことで、SSHをサーバーにインストール、構成、およびセキュリティを強化できます。セキュリティは継続的なプロセスであるため、システムを保護するためにSSH設定を定期的にレビューし更新してください。

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


コメント