ssh:允许所有用户使用一个IP,并限制一个用户使用公共IP

我在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

你应该可以通过在你的sshd_config文件中使用额外的AllowUsers / DenyUsers筛选器来实现这个function,就像这样(假定1.2.3.4是你的公有地址):

 Match LocalAddress 1.2.3.4 AllowUsers git 

我结束了使用AllowUsers,没有一个匹配块,像这样:

 AllowUsers git root@somepattern root@someotherpattern