我在 VPN 上有一个服务器。该服务器有一个公共地址,上面有一个 gitlab 实例。我希望能够从 VPN 地址与任何 ssh 用户连接,但限制从公共地址访问 git 用户。
我怎样才能同时实现这两件事?
我已经像这样限制访问:
# Listen on localhost
ListenAddress 127.0.0.1
# Listen on public address
ListenAddress 1.2.3.4
# Listen on the VPN address
ListenAddress 5.6.7.8
我在 Ubuntu 服务器系统上,使用 openssh 版本 1:5.9p1-5ubuntu1
答案1
您应该能够使用Match
块(localAddress)和附加的AllowUsers / DenyUsers过滤来实现这一点sshd_配置文件,如下所示(假设 1.2.3.4 是您的公共地址):
Match LocalAddress 1.2.3.4
AllowUsers git
答案2
我最终使用了没有匹配块的 AllowUsers,如下所示:
AllowUsers git root@somepattern root@someotherpattern