Это не 100% надежный и гарантированный способ.
Во-первых, проверьте, существует ли файл ~/.ssh/authorized_keys.
Если этот файл существует, есть вероятность, что пользователь, вероятно, использует аутентификацию на основе ключей.
Затем проверьте файлы журнала аутентификации, чтобы проверить, какой метод аутентификации пользователь использует для доступа к удаленной системе.
Метод auth регистрируется в файле «/var/log/secure» в системах на основе RPM (например, CentOS), в файле «/var/log/auth.log» в системах на основе DEB (например, Ubuntu).
Просто найдите запись password в файлах журнала аутентификации, используя команду grep или любым другим способом, который вы предпочитаете.
$ grep 'password' /var/log/secure
$ grep 'password' /var/log/auth.log
[...] May 8 10:40:36 itsecforu sshd[3303]: Accepted password for senthil from 192.168.225.37 port 41990 ssh2 May 8 10:40:56 itsecforu sshd[3405]: Accepted password for sk from 192.168.225.37 port 41992 ssh2
Вы заметили строки «Accepted password for …» в приведенном выше выводе?
Это означает, что пользователь обращается к удаленным системам с помощью пароля.
Согласно вышеприведенному выводу, пользователи «senthil» и «sk» получают доступ к удаленной системе с использованием аутентификации по паролю ssh.
Если пользователь использует аутентификацию на основе ключей, вы, вероятно, увидите вывод, как показано ниже:
May 8 10:40:56 itsecforu sshd[3405]: Accepted publickey for sk from 192.168.225.37 port 41992 ssh2
Конечно, это немного сложно, если файл журнала очень громосткий с большим количеством записей.
В этом случае используйте команду «tail» для просмотра определенного количества файлов журнала.
Например, следующая команда будет отображать только последние 10 записей файла журнала:
$ grep 'password' /var/log/auth.log | tail -n 10
Пример вывода:
May 8 10:21:49 itsecforu sshd[2135]: Accepted password for senthil from 192.168.225.37 port 41920 ssh2 May 8 10:21:57 itsecforu sshd[2222]: Accepted password for sk from 192.168.225.37 port 41922 ssh2 May 8 10:24:57 itsecforu sshd[2360]: Accepted password for senthil from 192.168.225.37 port 41924 ssh2 May 8 10:25:04 itsecforu sshd[2448]: Accepted password for sk from 192.168.225.37 port 41926 ssh2 May 8 10:29:40 itsecforu sshd[2663]: Accepted password for senthil from 192.168.225.37 port 41938 ssh2 May 8 10:29:55 itsecforu sshd[2765]: Accepted password for sk from 192.168.225.37 port 41940 ssh2 May 8 10:39:34 itsecforu sshd[3064]: Accepted password for senthil from 192.168.225.37 port 41986 ssh2 May 8 10:39:55 itsecforu sshd[3184]: Accepted password for sk from 192.168.225.37 port 41988 ssh2 May 8 10:40:36 itsecforu sshd[3303]: Accepted password for senthil from 192.168.225.37 port 41990 ssh2 May 8 10:40:56 itsecforu sshd[3405]: Accepted password for sk from 192.168.225.37 port 41992 ssh2
Вы также можете использовать флаг -f, чтобы следить за журналом во время тестирования.
$ grep 'password' /var/log/auth.log | tail -f -n 10
$ grep 'password' /var/log/auth.log | less
$ grep 'sshd' /var/log/auth.log | tail -n 10