Ограничить SSH-вход с открытым ключом только для выбранных пользователей

Используя OpenSSH , я включил ssh-вход на свой компьютер с Ubuntu 18.04, назовите его Remote , и моя учетная запись пользователя на Remote называется Дистанционно пользователя . Я также убедился, что вход в систему возможен только с помощью аутентификации с открытым ключом. Вот фактическое описание проблемы.

У меня есть две локальные машины, назовите их Local-A и Local-B , и у каждой из них есть один пользователь, назовите их Пользователь-A и Пользователь-B соответственно. Я хочу ограничить доступ к Ответы на этот вопрос дают право на награду за репутацию +50 . Орест Джерия хочет привлечь больше внимания к этому вопросу.

Используя OpenSSH , я включил ssh-вход на свой компьютер с Ubuntu 18.04, назовите его Remote , и моя учетная запись пользователя на Remote называется Дистанционно пользователя . Я также убедился, что вход в систему возможен только с помощью аутентификации с открытым ключом. Вот фактическое описание проблемы.

У меня есть две локальные машины, назовите их Local-A и Local-B , и у каждой из них есть один пользователь, назовите их Пользователь-A и Пользователь-B соответственно. Я хочу ограничить доступ к Ответы на этот вопрос дают право на награду за репутацию +50 . Орест Джерия хочет привлечь больше внимания к этому вопросу.

Используя OpenSSH , я включил ssh-вход на свой компьютер с Ubuntu 18.04, назовите его Remote , и моя учетная запись пользователя на Remote называется Дистанционно пользователя . Я также убедился, что вход в систему возможен только с помощью аутентификации с открытым ключом. Вот фактическое описание проблемы.

У меня есть две локальные машины, назовите их Local-A и Local-B , и у каждой из них есть один пользователь, назовите их Пользователь-A и Пользователь-B соответственно. Я хочу ограничить доступ к Орест Джерия хочет привлечь больше внимания к этому вопросу.

Используя OpenSSH , я включил ssh-вход на свой компьютер с Ubuntu 18.04, назовите его Remote , и моя учетная запись пользователя на Remote называется Дистанционно пользователя . Я также убедился, что вход в систему возможен только с помощью аутентификации с открытым ключом. Вот фактическое описание проблемы.

У меня есть две локальные машины, назовите их Local-A и Local-B , и у каждой из них есть один пользователь, назовите их Пользователь-A и Пользователь-B соответственно. Я хочу ограничить доступ к Орест Джерия хочет привлечь больше внимания к этому вопросу.

Используя OpenSSH , я включил ssh-вход на свой компьютер с Ubuntu 18.04, назовите его Remote , и моя учетная запись пользователя на Remote называется Дистанционно пользователя . Я также убедился, что вход в систему возможен только с помощью аутентификации с открытым ключом. Вот фактическое описание проблемы.

У меня есть две локальные машины, назовите их Local-A и Local-B , и у каждой из них есть один пользователь, назовите их Пользователь-A и Пользователь-B соответственно. Я хочу ограничить доступ к 04, назовите его Remote , и моя учетная запись пользователя на Remote называется Remote-User . Я также убедился, что вход в систему возможен только с помощью аутентификации с открытым ключом. Вот фактическое описание проблемы.

У меня есть две локальные машины, назовите их Local-A и Local-B , и у каждой из них есть один пользователь, назовите их Пользователь-A и Пользователь-B соответственно. Я хочу ограничить доступ к 04, назовите его Remote , и моя учетная запись пользователя на Remote называется Remote-User . Я также убедился, что вход в систему возможен только с помощью аутентификации с открытым ключом. Вот фактическое описание проблемы.

У меня есть две локальные машины, назовите их Local-A и Local-B , и у каждой из них есть один пользователь, назовите их Пользователь-A и Пользователь-B соответственно. Я хочу ограничить доступ к назовите их Local-A и Local-B , и у каждого из них есть один пользователь, назовите их User-A и User-B ] соответственно. Я хочу ограничить доступ к назовите их Local-A и Local-B , и у каждого из них есть один пользователь, назовите их User-A и User-B ] соответственно. Я хочу ограничить доступ к Remote-User @ Remote только для User-A и User-B и запретить другим пользователям, независимо от того, был ли их открытый ключ добавлен в .ssh Файл / authorized_keys из Remote-User @ Remote . Я попытался сделать это, добавив строку

AllowUsers User-A User-B

в sshd_config , но я заметил, что User-B имел ssh-доступ к Remote -User @ Remote , даже если бы я просто имел

AllowUsers User-A

. Это заставляет меня думать, что любой пользователь, чей открытый ключ был добавлен в Remote-User @ Remote файл .ssh / authorized_keys будет иметь доступ независимо от любых ограничений, которые я пытаюсь наложить с помощью AllowUsers .

Мне было интересно, есть ли у кого-нибудь предложения о том, как чтобы решить эту проблему. Имейте в виду, что я не очень разбираюсь в этой области, поэтому я мог пропустить важную информацию. Если да, дайте мне знать, и я буду рад ответить на этот вопрос.

2
задан 5 August 2020 в 22:19

3 ответа

Опция AllowUsers в файле /etc/ssh/sshd_config — это именно то, что вам нужно для ограничения доступа пользователей через ssh.

См. справочную страницу sshd_config:

AllowUsers
      This keyword can be followed by a list of user name patterns, separated by spaces.
      If specified, login is allowed only for user names that match one of the patterns.
      Only user names are valid; a numerical user ID is not recognized.  By default, login
      is allowed for all users.  If the pattern takes the form USER@HOST then USER and
      HOST are separately checked, restricting logins to particular users from particular
      hosts.  HOST criteria may additionally contain addresses to match in CIDR
      address/masklen format.  The allow/deny users directives are processed in the
      following order: DenyUsers, AllowUsers.

Чтобы изменения в sshd_config вступили в силу, необходимо перезапустить службу sshd с помощью:

$ sudo systemctl restart ssh.service

Если это все еще не работает, проверьте папку /etc/ssh/sshd_config.d на наличие дополнительных файлов конфигурации, которые имеют приоритет над вашим оператором AllowUsers.

1
ответ дан 11 August 2020 в 20:37

Когда вы добавляете несколько открытых ключей в файл .ssh / authorized_keys , любой, у кого есть какой-либо закрытый ключ для удаленного пользователя , может войти с помощью ] remote-user .

Лучший и безопасный способ разрешить только определенному пользователю - иметь отдельную учетную запись для отдельного пользователя, а его индивидуальный открытый ключ должен находиться в файле .ssh / authorized_keys . Здесь общая учетная запись Remote-User не должна использоваться. Вы можете ограничить пользователей, чтобы разрешить использование только ключа ssh в openssh. Таким образом, отдельный пользователь будет иметь отдельную учетную запись, только он сможет войти в свою учетную запись.

0
ответ дан 11 August 2020 в 20:11

Ключ SSH однозначно идентифицирует пользователя. Его можно использовать повторно, но любой, у кого есть закрытый ключ, имеет полный доступ к этому удостоверению.

Попытка добавить дополнительные ограничения будет проблематичной. Ключ SSH гарантирует, что владелец ключа имеет доступ к ключу (т.пока владелец поддерживает конфиденциальность ключа, использование его ключа гарантирует его личность).

Любая другая форма идентификации пользователя, такая как исходный компьютер/IP-адрес для соединения, не будет иметь такого же уровня гарантии. Другими словами, эти формы имеют вполне реальный потенциал для подделки/мошенничества.

Так вот рекомендуемое решение:

  • Запустите ssh-keygen для каждого из пользователей, чтобы дать им новый уникальный ключ SSH
  • Замените старый ключ и утилизируйте его
  • Добавьте открытый ключ нужного пользователя в файл authorized_keys
  • Поддерживайте безопасность ключа; ключ — это личность пользователя; Предоставление второго пользователя доступа к ключу дает ему возможность принять эту личность по своему желанию
  • Не пытайтесь обойти проблему с помощью дополнительных настроек SSH, так как это вряд ли будет эффективным

Надеюсь, это поможет!

0
ответ дан 11 August 2020 в 21:06

Другие вопросы по тегам:

Похожие вопросы: