Как узнать, какой метод был использован для входа в систему (пароль или ключевой файл) из bashrc

Получите номер (или номера) монитора, который вы хотите использовать в полноэкранном режиме rdp:

xfreerdp /monitor-list

Начать полноэкранный режим на мониторе:

xfreerdp /monitors:2 /multimon /v:<host>

Или на нескольких полноэкранных мониторах:

xfreerdp /monitors:1,2 /multimon /v:<host>
1
09.08.2018, 15:57
3 ответа

Вы можете добавить директиву к записи authorized_keysдля ключа, чтобы добавить значение в среду для сеансов, в которых использовался этот ключ. Это из документации sshd :

.

environment="NAME=value"
Specifies that the string is to be added to the environment when logging in using this key. Environment variables set this way override other default environment values. Multiple options of this type are permitted. Environment processing is disabled by default and is controlled via the PermitUserEnvironment option.

Таким образом, авторизованный ввод ключей _может выглядеть так:

environment="SSHKEY=bob_key" ssh-rsa AAAAB3NzaC...iQ== bob@bobspc

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

Очевидно, что это решение не общего -назначения. Вы должны аннотировать каждую запись ключа в каждом авторизованном файле ключей _с помощью этой директивы. И пользователь мог нарушить проверку, если бы у него был доступ для изменения своих файлов .bashrc, authorized_keysили .ssh/rc.

3
20.08.2021, 11:14

Оболочка не знает (и не заботится )о том, как вы аутентифицируетесь. sshdбудет регистрировать сообщения, если они настроены (через SyslogFacilityи LogLevel), в настраиваемое место (syslog/rsyslog ), поэтому вам придется проверить эти журналы, если они существуют, чтобы найти узнать, как пользователь аутентифицировался.

Найдите в этих журналах:

... sshd[...]: Accepted keyboard-interactive/pam for $USER from... port... 

или

... sshd[...]: Accepted publickey for $USER from... port...

, чтобы определить, использовали ли они пароль (клавиатуру -интерактивную )или аутентификацию по ключу.

Можете ли вы обобщить журналы sshd и отправить отдельный отчет (по электронной почте? )пользователям, которые недавно вошли в систему с помощью пароля.

1
20.08.2021, 11:14

Более новые версии OpenSSH (Я думаю, что начиная с 7.6 )можно использовать параметр конфигурации ExposeAuthenticationMethods. Если установлено значение pam-and-env, вы можете получить набор переменных среды SSH _USER _AUTH, который включает информацию об используемых методах аутентификации (s ). Это может включать несколько значений, когда используется многофакторная -аутентификация. Параметр по умолчанию (, соответствующий более ранним версиям OpenSSH ), равен never, подразумевая, что вам нужно будет прибегнуть к сканированию журнала или другим методам, если вы не можете изменить конфигурацию sshd _или используете более раннюю версию OpenSSH.

1
20.08.2021, 11:14

Теги

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