Можно ли (и если да, то как) сделать с openssh-server:

  • чтобы иметь возможность аутентифицировать пользователя root с ключом и без пароля
  • чтобы иметь возможность аутентифицировать пользователя non-root с ключом и без пароля
  • чтобы предотвратить non-root от регистрации в качестве root с его / ее собственным ключом
  • сделать это с одним экземпляром sshd , используя только один TCP port

И да, я очень хорошо осведомлен о рисках варианта PermitRootLogin yes .

1 ответ1

2

Это должно работать "из коробки" и ничего не требовать, кроме того, чтобы помещать открытые ключи пользователей в их файл .ssh/authorized_keys для соответствующего пользователя на сервере. (Если этот файл не существует для пользователя, сделайте это!)

Единственное, о чем нужно знать, это то, что, если открытый ключ пользователя без полномочий root добавлен на серверы root/.ssh/авторизованные_клиенты, то этот пользователь без полномочий root сможет войти в систему как root на сервере - так, чтобы избежать это, только не добавляйте их ключ в корень файла author_keys.

Вы уже сталкивались с PermitRootLogin - который, конечно, должен быть включен на сервере. Вы можете (опционально) ограничить, кто может регистрироваться откуда (если вообще), добавив строку типа «AllowUsers root@ip.address user1@ip.address user2» - которая будет разрешать только root и user1 с определенного IP-адреса, но user2 может войти в систему из любого места. Вы можете расширить это с таким количеством комбинаций user/ip, как требуется.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .