Ограничить доступ к SSH для одного конкретного пользователя

Ограничить доступ к SSH для одного конкретного пользователя

Я ищу способ защитить свои серверы с помощью следующей настройки: у меня есть сервер, на который я могу войти через SSH. Основная учетная запись там (с именем "foo") защищена логином на основе ключа с паролем. У меня есть еще одна учетная запись пользователя (с именем "bar"), которую я использую для входа через cronjobs, запущенные на других серверах - на этом тоже есть логин на основе ключа, но без пароля.

Теперь я хочу ограничить доступ к этой машине для учетной записи "bar". Учетная запись должна быть доступна только через известные IP-адреса. Однако учетная запись "foo" не должна быть затронута этим, эта должна быть доступна с любого IP-адреса.

Как мне с этим справиться? Или есть более простое решение для всего?

решение1

Управляйте этим с помощью sshдирективы AllowUsers. В /etc/ssh/sshd_config:

AllowUsers foo bar@hostname

Поместите IP-адрес и имя хоста barмашины в файл /etc/hosts на сервере ssh (так как DNS может быть недоступен, а IP-адрес может измениться), перезапустите ssh, и все готово.

Связанный контент