Доброе утро,
Мне нужно заставить мой SSH-сервер запрещать любое соединение, у которого нет моего закрытого ключа SSH... и не спрашивать пароль
Мой /etc/ssh/sshd_config:
Включить /etc/ssh/sshd_config.d/*.conf
Порт 22
#AddressFamily любой
#ListenAddress 0.0.0.0
#ListenAddress ::
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key
# Шифры и ключи
#RekeyLimit по умолчанию нет
# Логирование
#SyslogFacility АУТЕНТИФИКАЦИЯ
#LogLevel ИНФОРМАЦИЯ
# Аутентификация:
#LoginGraceTime 2 м
#PermitRootLogin запретить пароль
#Строгиережимы да
#MaxAuthTries 7
#МаксСессии 3
PubkeyAuthentication нет
# Ожидайте, что .ssh/authorized_keys2 в будущем будет игнорироваться по умолчанию.
Файл авторизованных ключей ~/.ssh/authorized_keys ~/.ssh/authorized_keys2
#AuthorizedPrincipalsFile нет
#AuthorizedKeysCommand нет
#AuthorizedKeysCommandUser никто
# Для этого вам также понадобятся ключи хоста в /etc/ssh/ssh_known_hosts
#HostbasedAuthentication нет
# Измените на yes, если вы не доверяете ~/.ssh/known_hosts для
# Аутентификация на основе хоста
#IgnoreUserKnownHosts нет
# Не читать пользовательские файлы ~/.rhosts и ~/.shosts
#ИгнорироватьRhosts да
# Чтобы отключить туннелируемые пароли в открытом виде, измените здесь на no!
ПарольАутентификация нет
PermitEmptyPasswords нет
# Измените на yes, чтобы включить пароли типа «запрос-ответ» (остерегайтесь проблем с
# некоторые модули и потоки PAM)
ВызовОтветАутентификация нет
# Опции Kerberos
#KerberosAuthentication нет
#KerberosOrLocalPasswd да
#KerberosTicketCleanup да
#KerberosGetAFSToken нет
# Параметры GSSAPI
#GSSAPIAНомер аутентификации
#GSSAPICleanupCredentials да
#GSSAPIStrictAcceptorПроверить да
#GSSAPIKeyExchangeнет
# Установите значение «да», чтобы включить аутентификацию PAM, обработку учетных записей,
# и обработка сеанса. Если этот параметр включен, аутентификация PAM будет
# быть разрешенным через ChallengeResponseAuthentication и
# Аутентификация по паролю. В зависимости от вашей конфигурации PAM,
# Аутентификация PAM через ChallengeResponseAuthentication может обойти
# настройка "PermitRootLogin без пароля".
# Если вы просто хотите, чтобы учетная запись PAM и проверка сеанса выполнялись без
# Аутентификация PAM, затем включите это, но установите PasswordAuthentication
# и ChallengeResponseAuthentication на «нет».
ИспользоватьPAM да
#AllowAgentForwarding да
#AllowTcpForwarding да
#GatewayPorts нет
X11Переадресация да
#X11DisplayOffset 10
#X11UseLocalhost да
#PermitTTY да
Версия для печати
#PrintLastLog да
#TCPKeepAlive да
#PermitUserEnvironment нет
# Сжатие отложено
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS нет
#PidFile /var/run/sshd.pid
#Макс.Запусков 10:30:100
#PermitTunnel нет
#ChrootDirectory нет
#VersionAddendum нет
# нет пути к баннеру по умолчанию
#Баннер нет
# Разрешить клиенту передавать переменные среды локали
AcceptEnv ЯЗЫК LC_*
# переопределить значение по умолчанию отсутствия подсистем
Подсистема sftp /usr/lib/openssh/sftp-сервер
# Пример переопределения настроек для каждого пользователя
#Соответствие пользователю anoncvs
# X11Переадресация нет
# AllowTcpForwarding нет
# РазрешитьTTY нет
# cvs-сервер ForceCommand
#
Адрес совпадения 127.0.0.*
PubkeyAuthentication да
Совпадает с адресом 192.168.1.*
PubkeyAuthentication да
когда я пытаюсь ssh -i "/path/to/ssh-key-private.txt" john@localhost это приводит к
john@localhost пароль:
Разрешение отклонено, попробуйте еще раз.
john@localhost пароль:
Разрешение отклонено, попробуйте еще раз.
john@localhost пароль:
Получено отключение от ::1 порта 22:2: слишком много ошибок аутентификации
Отключено от ::1 порта 22
и когда я меняю PubkeyАутентификация да
john@localhost: доступ запрещен (открытый ключ)
обратите внимание, что я уже пробовал следующее https://askubuntu.com/a/974566/1067284 https://askubuntu.com/a/1335082/1067284 и ничего не получилось...