Ubuntu 12.04を使用して、sshd_configを使用して、ルートからのsshセッションをIPの固定サブセットに制限したいと思います。通常のユーザーがどこからでもsshできるようにしたいのですが、rootはIP範囲(私のローカルサブネット)と、この範囲外の1つのIP(私のオフサイトバックアップサーバー)からのみsshできる必要があります。
私のバックアップソリューションにはssh経由のルートアクセスが必要なので、
PermitRootLoginいいえ
解決策ではありません。同時に、すべての人とその母親のためにルートを開いたままにして、システムを不必要に危険にさらしたくありません。
現在、sshd_configには次のものがあります。
AllowUsers *@*
DenyUsers root@*
AllowUsers [email protected].*
AllowUsers [email protected]
ここで、ローカルサブネットとオフサイトのバックアップ番号は正しいです。
これは機能しません。これを機能させるためのヒントとその理由は何ですか? sshd_configのドキュメントは、AllowUsersとDenyUsersがどのように相互作用するかを理解するのに役立ちませんでした。
SSHキーを使用してroot(PermitRootLogin without-password
)としてログインすることを検討してください。 authorized_keysのfrom="1.2.3.4,8.9.0.0/24,::1"
オプションを使用して、各キーを特定の送信元アドレスに制限できます。
「AllowUsers」のすぐ下にあるマンページdoes say:
Allow/denyディレクティブは、DenyUsers、AllowUsers、DenyGroups、最後にAllowGroupsの順序で処理されます。
–したがって、DenyUsersエントリが一致する場合、他のルールはまったくチェックされません。
/ etc/ssh/sshd_configで、構成の主要部分に以下が設定されていることを確認します
PermitRootLogin no
そして、これを設定ファイルの最後に追加します。これで、rootはローカルアドレスからのみログインできます。
Match Address 192.168.0.*,127.0.0.1
PermitRootLogin yes
この機能はほぼ2つのメジャーリリースで使用されていると思うので...驚くべきことに、誰もこれに早く答えませんでした。
試合後、ポートフォワーディングを有効にするなど、他のこともできます。