
Я хочу сделать это в/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