Рейтинг:0

SSH: хост не проверяет закрытый ключ клиента?

флаг us
OcK

Я только что установил свежую Ubuntu 20.04, а также openssh-сервер, но каким-то образом можно установить соединение ssh только с паролем.

На этой хост-машине два пользователя. Оба имеют файл author_keys с открытым ключом в каталоге ~/.ssh/.

Я знаю пароль другого пользователя, но у меня нет его закрытого ключа на моей машине. Каким-то образом я могу войти в его аккаунт. Просто для ясности, он дал мне свой пароль, чтобы проверить это.

Скачал "свежий" конфиг с здесь и сравнил различия в файле sshd_config, так как это файл конфигурации на стороне хоста.

Насколько я знаю, я просто изменил X11Forwarding на yes и раскомментировал его.

Следующее мое sshd_config файл на хост-машине. Есть ли что-то неправильное, что может быть причиной этой проблемы?

# $OpenBSD: sshd_config,v 1.103 09.04.2018 20:41:22 tj Exp $

# Это общесистемный файл конфигурации сервера sshd. Видеть
# sshd_config(5) для получения дополнительной информации.

# Этот sshd был скомпилирован с PATH=/usr/bin:/bin:/usr/sbin:/sbin

# Стратегия, используемая для опций в sshd_config по умолчанию, поставляемой с
# OpenSSH должен указать параметры со значением по умолчанию, где
# возможно, но оставьте их комментариями. Незакомментированные параметры переопределяют
# значение по умолчанию.

Включить /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 6
#МаксСеансов 10

#PubkeyАутентификация да

# Ожидайте, что .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


 
Рейтинг:1
флаг hr

Закомментированные записи в оригинале /etc/ssh/sshd_config файле указывают значения по умолчанию. Так

#Аутентификация по паролю да

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

Вам нужно будет перейти на

ПарольАутентификация нет

чтобы предотвратить это.

OcK avatar
флаг us
OcK
Спасибо! Я думал, что по умолчанию (или всегда) обязательно иметь ключи (открытые/закрытые) в дополнение к паролю. Я проверю это завтра, когда у меня будет доступ к хост-компьютеру.
OcK avatar
флаг us
OcK
да я думал именно так и что нужно для безопасности соединения чтобы ключи совпадали друг с другом.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.