Соответствие размещения пользователя в sshd_config

Соответствие размещения пользователя в sshd_config

Я хочу сделать это в/etc/ssh/sshd_config

Protocol                                     2
Ciphers                                      aes256-ctr
PermitRootLogin                              no

X11Forwarding                                no

Match User joebob
X11Forwarding yes

AuthorizedKeysFile                           .ssh/authorized_keys
PermitEmptyPasswords                         no
RSAAuthentication                            no
RhostsRSAAuthentication                      no
IgnoreUserKnownHosts                         no

Проблема в том,

Запуск SSH daemon/etc/ssh/sshd_config строка 40:
Директива «IgnoreUserKnownHosts» не допускается внутри блока Match

Похоже, что сколько бы директив после первой после оператора Match ни включалось в состав соответствия?

Мой оператор Match работает, если я помещаю его в самый конец файла sshd_config.

Я не хочу этого делать.

Есть ли способ разместить этот оператор соответствия в верхней части файла, сразу после оператора X11Forwarding no?

У меня есть все соответствующие настройки ssh, которые мне интересны, в верхней части файла, я хочу, чтобы мой соответствующий пользователь был сразу после X11forwarding no, чтобы я знал, что это происходит. Я забуду об этом, если это будет размещено в нижней части файла.

Моя цель — отключить X11Forwarding для всех, за исключением одной локальной учетной записи пользователя, определенной в /etc/passwd.

решение1

Как упоминалось в разделе man sshd_configи :Match

Только подмножество ключевых слов может быть использовано в строках, следующих за Matchключевым словом. Доступные ключевые словаAllowAgentForwarding, AllowTcpForwarding, Banner, ChrootDirectory, ForceCommand, GatewayPorts, GSSAPIAuthentication, HostbasedAuthentication, KbdInteractiveAuthentication, KerberosAuthentication, KerberosUseKuserok, MaxAuthTries, MaxSessions, PubkeyAuthentication, AuthorizedKeysCommand, AuthorizedKeysCommandRunAs, PasswordAuthentication, PermitEmptyPasswords, PermitOpen, PermitRootLogin, RequiredAuthentications1, RequiredAuthentications2, RhostsRSAAuthentication, RSAAuthentication, X11DisplayOffset, X11Forwarding и X11UseLocalHost

все в порядке, как вы видите, IgnoreUserKnownHostsне может быть в разделе Match. Либо переместите его выше первого Match, если он у вас есть, либо поместите все части Match(если таковые имеются, одну или несколько) в конец файла конфигурации (что предлагается); в противном случае вся конфигурация после Match переопределит глобальную конфигурацию и будет применяться joebobтолько к вашему пользователю ( ).

поэтому предлагается переместить все ваши совпадения в конец файла конфигурации.

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

решение2

Чтобы отметить конец блока Match, вы можете использовать «Match all»

Protocol                                     2
Ciphers                                      aes256-ctr
PermitRootLogin                              no

X11Forwarding                                no

Match User joebob
X11Forwarding yes
Match all

AuthorizedKeysFile                           .ssh/authorized_keys
PermitEmptyPasswords                         no
RSAAuthentication                            no
RhostsRSAAuthentication                      no
IgnoreUserKnownHosts                         no

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