Debian - 只允许一个用户通过 ssh 从任何 IP 登录

Debian - 只允许一个用户通过 ssh 从任何 IP 登录

我想配置服务器,以便只有一个用户(git)能够从任何 IP 地址(使用密钥)登录,其他用户只能从指定的 IP 登录。

目前我的配置允许任何用户从一个指定的 IP 登录。

以下是我现在所拥有的:

/etc/ssh/sshd_config:

PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
# AllowUsers
# not configured

/etc/hosts.allow:

# my workplace IP
sshd: 191.225.37.xyz
# my trusted server
ALL: my.private.com

/etc/hosts.deny:

# bunch of addresses added by protection services
sshd: x.y.z.v

UFW 已禁用。

如何配置它,以便任何用户都可以从这个指定的 IP 登录(原样),但git用户能够从任何 IP 通过 ssh 登录?

答案1

你可能应该用match你的sshd_config而不是尝试使用 tcp 包装器 hosts.allow(这是官方 sshd 中已弃用的函数)。使用谷歌搜索可以找到许多示例。这是一个未经测试的示例,我期望它可能与您想要的类似。请花一些时间自己阅读手册页和其他谷歌搜索结果。

PasswordAuthentication no
# git from anywhere with password auth
Match User git
    PasswordAuthentication yes
# anyone not git from a specific network with password auth
Match User !git  Address 192.168.0.0/16
    PasswordAuthentication yes

相关内容