Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Enter new PIN again [CHIKOPIN]:
PIN successfully unblocked.
Если и PUK забыт и (в нашем примере) не использовался Security Officer PIN, не остается ничего кроме форматирования ключа, поэтому будьте максимально осторожны.
Первоочередная цель достигнута – dual factor authentication (наличие hardware-ключа и знание PIN) работает на нашей системе. Невооруженным глазом заметно, что такой способ аутентификации намного безопасней пары login/password.
С регистрацией в локальной системе разобрались, рассмотрим регистрацию с помощью нашего аппаратного ключа на удаленных серверах.
Первое, что следует отметить, – openssh должен быть собран с поддержкой смарткарт. В Gentoo это делается очень просто:
# USE='X509 pam smartcard' emerge openssh
Пользователи других дистрибутивов применяют следующее:
./configure --with-opensc=/путь/opensc
Как настроить и запустить sshd, думаю, объяснять нет необходимости. Никаких особенных настроек не требуется, за исключением вставки на рабочей станции в /etc/pam.d/sshd строки auth required /lib/security/pam_opensc.so. Вот как он выглядит у меня:
# more /etc/pam.d/sshd
auth required /lib/security/pam_opensc.so
accoun required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
Итак, у нас имеется готовый ключ и корректно собранный, настроенный и активный sshd на сервере remote. На нем есть учетная запись пользователя ajwol и в его домашнем каталоге имеется директория ~/.ssh . Чтобы зарегистрироваться с его учетной записью, используя наш ключ, в домашней директории ajwol, должен присутствовать и быть доступным для чтения файл ~/.ssh/authorized_keys, содержащий в себе публичный ключ. Создадим его на машине, с которой будем регистрироваться:
# ssh-keygen -D 0 > ~/authorized_keys
где «0» – идентификатор ключа.
Скопируем этот файл в /home/ajwol/.ssh/authorized_keys на сервер remote:
# scp ~/authorized_keys ajwol@remote:.ssh
Регистрируемся на удаленном сервере, используя параметр -I 0 (id ключа):
# ssh -I 0 -l ajwol remote
Enter PIN for Private Key:
Last login: Fri Nov 12 08:20:15 2004 from grayhat
ajwol@remote ajwol $
Задача выполнена. Вы можете регистрироваться старым проверенным способом без ключа (не указывая параметр -I), используя login/password, но, по желанию, можете также поиграть с настройками модулей PAM на сервере remote.
Примечание: ~/.ssh/authorized_keys должен быть доступен во всех домашних каталогах пользователей, с логинами которых будем регистрироваться удаленно.
Теперь не имеет значения длина пароля для логина ajwol на хосте remote, пользователь даже не обязан знать его, хватит и PIN. Эти шаги можно проделать со многими удаленными хостами, освободив себя от необходимости запоминания массы длинных паролей к множеству пользовательских аккаунтов.
Задачи, поставленные в начале статьи, решены. В следующих статьях об использовании аппаратных ключей будут рассмотрены примеры их работы с Mozilla и Apache 2, шифрование домашних каталогов.
Ссылки:
n
n man opensc