web-dev-qa-db-ja.com

sshd_configを使用してルートログインを制限しますか?

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がどのように相互作用するかを理解するのに役立ちませんでした。

2
IceRabbit

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エントリが一致する場合、他のルールはまったくチェックされません。

5
user1686

/ etc/ssh/sshd_configで、構成の主要部分に以下が設定されていることを確認します

PermitRootLogin no

そして、これを設定ファイルの最後に追加します。これで、rootはローカルアドレスからのみログインできます。

Match Address 192.168.0.*,127.0.0.1
PermitRootLogin yes

この機能はほぼ2つのメジャーリリースで使用されていると思うので...驚くべきことに、誰もこれに早く答えませんでした。

試合後、ポートフォワーディングを有効にするなど、他のこともできます。

0
cb88