web-dev-qa-db-ja.com

ローカルホストのみのsshアクセスを制限するにはどうすればよいですか?

指定されたユーザーのsshアクセス(localhostを除く)を禁止する必要があります。

そう。 ssh localhostは機能するはずです。 ssh hostname外部からはそのユーザーには機能しないはずです。

他のすべてのユーザーは通常どおりに作業する必要があります。

5
denys

sshd_configのマニュアルページAllowUsersおよびDenyUsersディレクティブを参照してください(場合によってはAllowGroupsおよびDenyGroups) 。

基本的に、これらのディレクティブは、スペースで区切られたuser@Host形式のユーザーパターンのリストを取ります。ディレクティブの優先順位は、DenyUsersAllowUsersDenyGroups、最後にAllowGroupsです。

localhostから特定のユーザーを許可するという単純なケースでは、次の行のみを追加する必要があります。

AllowUsers user@localhost

これにより、user@localhost以外の場所からのユーザーが暗黙的に拒否されます。

6
Pedro Romano

特定のユーザーに公開鍵認証を強制し、許可された鍵ファイルのfrom=オプションを使用してそのユーザーの公開鍵を制限する場合はどうでしょうか。

特定のユーザーに公開鍵認証の使用を強制するには:

Match User Bad_User
    PasswordAuthentication no
    AuthorizedKeysFile /somewhere/the/user/cannot/touch

次に、承認されたキーファイルで、次のようにキーを構成します。

from=localhost ssh-rsa AAAA...

man sshd_configMatchディレクティブ、およびman sshdの許可されたキーオプションの詳細を読むことができます。

4
janos

PAM(sshd_configのUsePAM)を使用して追加できます

account  required     pam_access.so

sshのPAM構成に。

次に、/etc/security/access.confでアクセスポリシーを定義できます。

+ : john : 127.0.0.1 ::1
- : john : ALL
+ : ALL : ALL

(未テスト)

2