Linux 用 Sshd_Config ファイル完全ガイド

Linux Yong Sshd Config Fairu Wan Quangaido



SSH または Secure Shell プロトコルは、マシンにリモートでログインし、リモート マシンでコマンドを実行するために使用されます。 SSH プロトコルを使用して転送されるデータは、SSH を Telnet よりも安全にする特別なアルゴリズムで暗号化されます。基本的に、OpenSSH はこのプロトコルを実装するツールです。

何をカバーしますか?

このガイドでは、OpenSSH サーバー構成ファイルのさまざまな側面について説明します。今すぐ始めましょう。







OpenSSH 構成ファイル

OpenSSH クライアントとサーバーの両方にいくつかのコア ファイルがあります。次の 2 種類の構成ファイルがあります。



1. クライアント側に関連するファイル: ファイルの 1 つは ssh_config です。これは、システム全体の構成ファイルです。このファイルは次の場所にあります。 /etc/ssh/ssh_config.



もう 1 つのファイルは、$HOME/.ssh/config にあるユーザー固有の構成ファイルである config です。





ホスト上の SSH プログラムは、これらのファイルまたはコマンド ライン インターフェイスから構成を取得します。前述のファイルの場合、ssh_config であるシステム全体の構成ファイルは、ユーザー固有の「構成」ファイルよりも優先されます。

2. sshd_config: サーバー側に関するものです。 OpenSSH サーバーは、起動時にこのファイルを読み取ります。



の探索 sshd 構成ファイル

sshd 構成ファイルには、カスタマイズ可能な多くのディレクティブが含まれています。このファイルのデフォルトのレイアウトを見てみましょう。

$ / / ssh / sshd_config


# これは、sshd サーバーのシステム全体の構成ファイルです。見る

# 詳細については、sshd_config(5) を参照してください。

ポート 222
リッスンアドレス 0.0.0.0
リッスンアドレス ::
ホストキー / / ssh / ssh_host_key
サーバーキービット 768
ログイン猶予時間 600

キー再生間隔 3600
PermitRootLogin はい
Rhost を無視 はい
StrictModes はい
X11Forwarding いいえ

AllowTcpForwarding いいえ
allowTTY いいえ
X11DisplayOffset 10
印刷モード はい
生き続ける はい
Syslog ファシリティ AUTH

ログレベル情報
Rhosts認証なし
RhostsRSAAuthentication いいえ
RSA認証 はい
パスワード認証 はい
AllowEmptyPasswords いいえ
CheckMail いいえ


「#」で始まる行はすべてコメントと見なされます。指定されたパラメーターのいくつかを調べてみましょう。

1. Port ディレクティブは、ポート番号を指定します。これは、 sshd 接続をリッスンします。このポートのデフォルト値は標準の 22 です。ただし、私たちの場合は、222 に変更しました。

また、複数の Port ディレクティブを指定できます。このようにして、sshd 接続をリッスンするために複数のポートを使用できます。

2. ListenAddress には、リッスンするための IP アドレスが含まれています。デフォルトのアクションは、サーバーにバインドされているすべての IP アドレスをリッスンすることです。また、Port ディレクティブは ListenAddress ディレクティブの後に続く必要があることに注意してください。

3. プライベート RSA ホスト キー ファイルの完全修飾パスは、HostKey ディレクティブによって指定されます。前の場合、パスは /etc/ssh/ssh_host_key .

4. PermitRootLogin ディレクティブは、yes に設定されている場合、sshd のルート ログインを許可します。 hosts.allow および hosts.deny ファイルを使用して sshd アクセスを制限しない限り、これは no に設定する必要があります。

5. X11Forwarding ディレクティブを yes に設定すると、X Window System 転送が許可されます。

6. どの Syslog ファシリティが sshd should use は SyslogFacility ディレクティブを使用して指定されます。デフォルト値をそのままにしておきます。

7. Syslog のログ レベルは、LogLevel ディレクティブを使用して指定されます。

の変更 sshd ポート

デフォルトでは、 sshd または OpenSSH サーバーデーモンは、TCP プロトコルのポート 22 を使用します。テスト環境では、このポート番号を別の値に変更することをお勧めします。これにより、サーバー接続が常に利用可能であることが保証されます。

また、実行するポートに関係なく、新しい sshd_config ファイルを使用する前に、構成の構文を確認することをお勧めします。構文を確認するには、次のコマンドを使用できます。

$ sshd -t


また、root ユーザーのみがこのファイルの読み取りと書き込みを行えるようにする必要があることに注意することも重要です。これは、sshd_config 構成ファイルが適切に保護されている場合、前のコマンドを実行するには root 権限が必要であることを意味します。

前の構文検証コマンドを実行しても出力が表示されない場合は、ファイルに問題がないことを意味します。

デフォルトの構成ファイルとポートの変更

場合によっては、新しいインスタンスを実行したい sshd 別のポートで。これは、ポート 22 が既に使用されているか、実稼働環境でこのポートを変更する際にリスク領域が存在する可能性があるためです。このような状況では、サーバーの代替構成ファイルを作成できます。

新しい sshd_config ファイルを sshd_config_new として作成しましょう。このファイルは、いくつかの異なるサーバー パラメータに使用できます。ここで、このファイルをポート番号 100 の新しいサーバー構成ファイルと見なすように指定しましょう。

$ 須藤 / ユーザー / スビン / sshd -f / / ssh / sshd_config_new -p 100


sshd デーモンはポート 100 でリッスンするようになりました。任意のポート値を使用できますが、既に使用されているものは使用できません。

それでは、新しいポートが期待どおりに機能しているかどうかを確認しましょう。このためには、ssh クライアント プログラムを使用して、次のコマンドを実行する必要があります。

$ / ユーザー / 置き場 / ssh -p 100 < IP サーバーの >



「-p」オプションは、リモート サーバーで使用するポート 100 を指定します。ローカルでテストする場合は、サーバー IP をローカルホスト IP として使用できます。

$ / ユーザー / 置き場 / ssh -p 100 127.0.0.1

OpenSSH 構成のトラブルシューティング

時々、私たちのサーバーは期待どおりに機能していません.このような場合、「-d」フラグを使用して、OpenSSH サーバー構成のトラブルシューティングを行うことができます。 「-d」フラグを使用すると、サーバーはデバッグ モードに入り、単一の接続のみを処理します。

デバッグ モードで生成される出力は詳細です。 「-d」フラグをさらに使用して、デバッグ レベルを上げることができます。新しい構成ファイルを使用して、サーバーで debug コマンドを実行しましょう。

$ / ユーザー / スビン / sshd -d -p 100 -f / / ssh / sshd_config_new


前のコマンドからの出力は、syslogd の AUTH 機能を使用する代わりに stderr に記録されます。

結論

OpenSSH デーモンまたは sshd は、多くの管理インフラストラクチャの重要な部分です。そのため、最適な運用のためにそれを管理するには専門知識が必要です。この記事では、sshd_config のような OpenSSH サーバー構成ファイルについて学びました。