SSH и Google Authenticator
Давно хотел так сделать, но все было как-то лень. Да и иногда боязно, случайно потерять доступ по ssh, особенно если это удаленный сервер. Решился. Сделал.
Ничего сложного нет. Ставим пакет libpam-google-authenticator, потом запускаем приложение google-authenticator под нужным пользователем. После несложных ответов на вопросы, получаем QR код, который сканируем в приложении.
Потом я подумал, какой смысл закрывать из локальной сети ssh, вводить каждый раз код не хочется. Поэтому я создал отдельного пользователя, установил на него двухфакторную аутентификацию и только этому пользователю разрешил заходить по ssh:
Добавляем в файлик /etc/ssh/sshd_config строчку:
AllowUsers remote_ssh_user
Теперь попасть по ssh сможет только этот пользователь. А дальше добавляем еще пару строчек:
Match address 192.168.1.0/24
AllowUsers lan_ssh_user
Теперь можно ходить под основным пользователем только из локальной сети, а если нужно снаружи, то через аутентификатор.