
Я ищу способ защитить свои серверы с помощью следующей настройки: у меня есть сервер, на который я могу войти через 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, и все готово.