Назад | Перейти на главную страницу

Debian - разрешить только одному пользователю входить в систему с любого IP-адреса через ssh

Я хочу настроить сервер так, чтобы только один пользователь (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