Я хочу настроить сервер так, чтобы только один пользователь (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
пользователь может войти через ssh с любого IP?
Вероятно, вам следует делать все это с match
функция в вашем sshd_config
вместо того, чтобы пытаться использовать tcp-оболочки hosts.allow (это устаревшая функция в официальном sshd). Многие примеры можно найти с помощью поиска Google. Вот непроверенный пример того, что, как я ожидаю, может быть похоже на то, что вы хотите. Пожалуйста, потратьте некоторое время на чтение страницы руководства и других результатов Google самостоятельно.
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