Linux で OpenSSH サーバーをインストールして構成するにはどうすればよいですか?
OpenSSH は、ネットワーク上の異なるマシン間で安全な暗号化通信を提供するために使用されるオープンソース ツールです。これは、リモート サーバーに安全にアクセスして管理する方法として、Linux ベースのシステムで広く使用されています。この記事では、Linux に OpenSSH サーバーをインストールして構成する方法について説明します。
ステップ 1: OpenSSH がインストールされているかどうかを確認する
インストール プロセスの最初のステップは、OpenSSH が Linux マシンにすでにインストールされているかどうかを確認することです。これを行うには、ターミナルを開いて次のコマンドを入力します-
ssh -V
OpenSSH がすでにインストールされている場合、コマンドによりソフトウェアのバージョン番号が表示されます。インストールされていない場合、コマンドはエラー メッセージを表示します。
ステップ 2: OpenSSH のインストール
OpenSSH がインストールされていない場合は、Linux ディストリビューションのパッケージ マネージャーを使用してインストールできます。パッケージ名は、使用している Linux ディストリビューションによって異なる場合があります。以下は、いくつかの人気のあるLinuxディストリビューションにOpenSSHをインストールするコマンドです-
Ubuntu/Debian
sudo apt-get update
sudo apt-get install openssh-server
Fedora/CentOS
sudo yum update
sudo yum install openssh-server
Arch Linux
sudo pacman -S openssh
ステップ 3: OpenSSH の構成
OpenSSH をインストールしたら、次のステップは OpenSSH を構成することです。 OpenSSH のメイン設定ファイルは /etc/ssh/sshd_config にあります。このファイルは、nano や vim などのテキスト エディタを使用して開くことができます。設定ファイルを編集する前に、ファイルのバックアップ コピーを作成してください。
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
構成ファイルのバックアップ コピーを取得したら、好みのテキスト エディタを使用して元のファイルの編集を開始できます。いくつかの重要な構成オプションは次のとおりです-
ポート - このオプションは、OpenSSH が受信接続をリッスンするポート番号を設定します。デフォルトのポート番号は 22 ですが、セキュリティ上の理由から、別の番号に変更することをお勧めします。
PermitRootLogin -このオプションは、root ユーザーが SSH 経由でログインできるかどうかを指定します。このオプションを no に設定し、管理者権限を持つ別のユーザー アカウントを作成することをお勧めします。
PasswordAuthentication -このオプションは、パスワードベースの認証を許可するかどうかを指定します。このオプションを no に設定し、代わりに公開キー認証を使用することをお勧めします。
PubkeyAuthentication -このオプションは、公開キー認証を許可するかどうかを指定します。このオプションを [はい] に設定することをお勧めします。
設定ファイルを編集したら、変更を保存してエディタを終了します。次に、OpenSSH サーバーを再起動して、新しい構成を適用します。
sudo systemctl restart sshd
ステップ 4: SSH キーの作成
OpenSSH で公開キー認証を使用するには、ローカル マシン上で SSH キーのペアを生成する必要があります。 ssh-keygen コマンドを使用してキーを生成できます。
ssh-keygen -t rsa -b 4096
このコマンドは、キー長が 4096 ビットの RSA キーのペアを生成します。キーは ~/.ssh ディレクトリに保存されます。
ステップ 5: 公開キーをサーバーにコピーする
SSH キーを生成した後、公開キーをリモート サーバーにコピーする必要があります。 ssh-copy-id コマンドを使用して、公開鍵をサーバーにコピーできます。
ssh-copy-id username@server-ip-address
ユーザー名とサーバー IP アドレスをリモート サーバーのユーザー名と IP アドレスに置き換えます。コマンドを実行すると、リモート サーバーのパスワードの入力を求められます。パスワードを入力すると、コマンドは公開キーをリモートサーバーのauthorized_keysファイルにコピーします。
ステップ 6: SSH キーを使用してログインする
公開キーをサーバーにコピーすると、公開キー認証を使用してリモート サーバーにログインできるようになります。これを行うには、ssh コマンドを -i オプションとともに使用して、秘密キー ファイルの場所を指定します。
ssh -i ~/.ssh/id_rsa username@server-ip-address
ユーザー名とサーバー IP アドレスをリモート サーバーのユーザー名と IP アドレスに置き換えます。 ssh コマンドは秘密キーを使用して接続を認証し、パスワードを入力せずにリモート サーバーにログインします。
ステップ 7: トラブルシューティング
OpenSSH のインストールまたは構成中に問題が発生した場合は、問題を解決するために確認できることがいくつかあります。
OpenSSH ログを確認する: OpenSSH ログは /var/log/auth.log ファイルに保存されます。 tail コマンドを使用すると、ログ ファイルの最後の数行を表示できます。
sudo tail -f /var/log/auth.log
ファイアウォール設定を確認する - OpenSSH サーバーに接続できない場合は、ファイアウォール設定を確認して、ポート 22 (または指定したカスタム ポート) が開いていることを確認します。
SELinux 設定を確認する - SELinux が有効になっている Linux ディストリビューションを使用している場合は、OpenSSH が適切に実行できるように SELinux 設定を変更する必要がある場合があります。
この記事で説明した基本的な構成オプションに加えて、OpenSSH には、特定のニーズに合わせてカスタマイズできる幅広い高度なオプションが用意されています。ここでは、いくつかの有用な OpenSSH 構成オプションの例をいくつか示します-
AllowUsers -このオプションは、SSH 経由でのログインを許可されるユーザーのリストを指定します。他のすべてのユーザーはアクセスを拒否されます。これは、SSH アクセスを特定のユーザー グループに制限する場合に便利です。
ClientAliveInterval -このオプションは、OpenSSH サーバーがクライアントにキープアライブ メッセージを送信するまでの時間間隔 (秒単位) を指定します。これは、アイドル状態の接続を閉じる NAT またはファイアウォールを使用している場合に便利です。
圧縮 -このオプションは、SSH 接続経由で送信されるデータに圧縮を使用するかどうかを指定します。圧縮を有効にすると、低速または遅延の長い接続でのパフォーマンスが向上します。
-
X11Forwarding -このオプションは、X11 転送を有効にするかどうかを指定します。 X11 転送により、グラフィカル アプリケーションをリモート サーバーで実行し、ローカル マシンで表示できるようになります。
TCPKeepAlive - このオプションは、TCP キープアライブを使用するかどうかを指定します。 TCP キープアライブは、古くなった接続またはデッドロックになった接続を検出して閉じるために使用されます。
これらのオプションを使用するには、他の構成オプションと同じ形式に従って、/etc/ssh/sshd_config ファイルに追加するだけです。
OpenSSH は、SSH 接続とキーを管理するためのいくつかのツールとユーティリティも提供します。ここにいくつかの例があります-
ssh-add -このツールは、SSH キーを SSH エージェントに追加するために使用されます。 SSH エージェントは、秘密キーを保存し、毎回パスワードを入力せずに秘密キーを使用する方法を提供するプログラムです。
ssh-keyscan - このユーティリティは、リモート サーバーから SSH 公開キーを取得するために使用されます。これは、サーバーの公開キーを known_hosts ファイルに追加する場合に便利です。
ssh-copy-id - このツールは、SSH 公開キーをリモート サーバーのauthorized_keys ファイルにコピーするために使用されます。これは、公開キー認証を設定するのに便利な方法です。
OpenSSH は一般に、リモート サーバーを管理するための安全で信頼できる方法であると考えられていますが、システムを保護するために追加のセキュリティ対策を講じることが依然として重要であることに注意してください。 OpenSSHサーバーを保護するためのいくつかのベストプラクティスを次に示します-
強力なパスワードを使用する - SSH にパスワード認証を使用する必要がある場合は、推測が困難な強力なパスワードを使用してください。一般的な単語やフレーズの使用を避け、大文字、小文字、数字、記号を組み合わせて使用します。
公開キー認証を使用する - 公開キー認証は、推測または傍受される可能性のある共有秘密に依存しないため、一般にパスワード認証よりも安全であると考えられています。ユーザーごとに強力で一意のキー ペアを生成し、秘密キーをクライアント マシンに安全に保存してください。
SSH アクセスを制限する − SSH アクセスを特定のユーザー グループまたは IP アドレスに制限すると、不正アクセスのリスクを軽減できます。 sshd_config ファイルでAllowUsersおよびAllowGroupsオプションを使用してアクセスを制限したり、ファイアウォールルールを使用して特定のIPアドレスへのアクセスを制限したりできます。
2 要素認証を使用する - 2 要素認証では、パスワードやキー ペアに加えて、ハードウェア トークンやモバイル アプリなどの 2 番目の要素を要求することで、SSH 接続に追加のセキュリティ層を追加します。 。
OpenSSH ソフトウェアを最新の状態に保ちます - 他のソフトウェアと同様に、OpenSSH には攻撃者によって悪用される可能性のある脆弱性が存在する可能性があります。攻撃のリスクを軽減するために、最新のセキュリティ パッチを適用して OpenSSH ソフトウェアを常に最新の状態に保ってください。
これらのベスト プラクティスに従うことで、OpenSSH 接続のセキュリティと信頼性を確保し、不正なアクセスや攻撃からシステムを保護できます。
結論
OpenSSH は、リモート Linux サーバーを管理するための強力かつ不可欠なツールです。この記事で説明されている手順に従うことで、Linux マシンに OpenSSH をインストールして構成し、それを使用してリモート サーバーを安全に管理できるようになります。パスワード認証の無効化や公開キー認証の使用などのベスト プラクティスに従って、OpenSSH 構成を安全に保つようにしてください。