В настоящее время у меня есть Ubuntu Server 12.04, на котором работает OpenSSH, а также Samba и несколько других сервисов. В настоящее время у меня настроена аутентификация с открытым ключом, и мне интересно, возможно ли установить двухфакторную аутентификацию? Я просматривал Google Authenticator, который сейчас использую в своей учетной записи Gmail.
Я обнаружил, что модуль PAM выглядит так, как будто он будет совместимым, однако кажется, что вы вынуждены использовать пароль и сгенерированный код.
Мне интересно, есть ли способ использовать приложение Google Authenticator (или что-то подобное) вместе с моим открытым ключом для аутентификации на моем SSH-сервере?
ssh
authentication
public-key
two-factor
Конкретный осел
источник
источник
Ответы:
Red Hat добавил патч к OpenSSH в RHEL (и, следовательно, CentOS) 6.3, чтобы требовать нескольких механизмов аутентификации, чтобы вы могли сделать что-то вроде этого:
См. Примечания к выпуску для не очень подробной информации.
К сожалению, эта функция, по-видимому, отсутствует ни в OpenSSH, ни в Ubuntu 12.04, поэтому, если вы не хотите найти патч и перекомпилировать OpenSSH, боюсь, вам не повезло.
источник
AuthenticationMethods
для указания нескольких необходимых методов, так что вам может потребоваться как ключ ssh, так и PAM, а PAM выполняет функцию Google Authenticator.Вы ищете Duo Security
источник
Вы можете использовать как модуль PAM Google Authenticator, так и открытые ключи, но для данной аутентификации будет использоваться только один. То есть, если пользователь входит в систему с авторизованным открытым ключом, токен не требуется.
Или, говоря иначе: токены требуются только для аутентификации пароля, а не для ключей SSH.
Между прочим, это ограничение исходит не от модуля Google Authenticator, а от SSH, который реализует двухфакторную аутентификацию (через
ChallengeResponseAuthentication
) для PAM, но не вызывает PAM, когда предоставляется действительный открытый ключ.источник
AuthenticationMethods
параметр конфигурации, который может перевернуть это. Теперь вы можете требовать и того, и другого.Этот вопрос с 2012 года. С тех пор SSH изменился, и был внедрен протокол SSH2.
В более поздних версиях SSH (> = 6.2) man sshd_config упоминает:
На этой странице http://lwn.net/Articles/544640/ также упоминается возможность одновременного использования publickey и PAM-аутентификации.
источник
Я знаю, что этот вопрос немного устарел, но ради будущих людей (включая меня), которые ищут решение, также говорят об использовании параметра ForceCommand в файле sshd_config для запуска сценария, который затем выполняет аутентификацию. Там пример скрипта , здесь вы можете изменить немного для ваших потребностей, хотя в этом примере он называет его из файла authorized_keys вместо того , чтобы его общесистемного с ForceCommand sshd_config в.
источник
Получите YubiKey и следуйте этому руководству http://berrange.com/posts/2011/12/18/multi-factor-ssh-authentication-using-yubikey-and-ssh-public-keys-together/
AFAIK, это лучший способ внедрить Yubikey на вашем сервере для доступа по SSH. Приведенное выше руководство позволяет вам использовать открытый ключ + yubikey, тогда как если вы пользуетесь официальным руководством ( http://code.google.com/p/yubico-pam/wiki/YubikeyAndSSHViaPAM ), оно не работает с открытым ключ.
С уважением, Vip
источник
Если вы установили парольную фразу на свой закрытый ключ, то у вас уже есть двухфакторная аутентификация. Для входа в систему людям потребуется:
источник