Настройка серверов и сайтов на Linux/Unix под "ключ". Услуги системного администратора. Всегда онлайн в телеграм.

Регистрация Войти
Вход на сайт
Качественные бесплатные шаблоны dle скачать с сайта
» » » SSH-аутентификация при помощи USB-ключа eToken Pro

SSH-аутентификация при помощи USB-ключа eToken Pro

21-10-2010
Автор: synergix
Просмотров: 12 740
Комментариев: 0
Версия для печати
Иной раз приходится обходится без своего ноута с любовно настроенными программами, и выходить в интернет с "публичных" мест. Поскольку вводить пароль от серверов на общедоступном комьютере мне как-то не хотелось, решено было использовать "железный" ключ для доступа по ключам. Статья не моя, я лишь воспользовался приведенным в дебрях интернета рецептом. Оказалось, очень удобно, так как флешка с ключами всегда со мной.

SSH-аутентификация при помощи USB-ключа eToken Pro

Для этого нам понадобятся:

— Собственно сам USB-ключ eToken Pro (в моем случае это eToken Pro 64k)
— Операционная система Windows с установленными драйверами eToken PKI Client
— Mozilla Firefox с установленным плагином Key Manager
— SSH-клиент с поддержкой смарт-карт. Лично мне нравится PuTTY SC — модифицированная версия PuTTY.

HINT! На второй странице описание как заставить это работать под FreeBSD.

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

Создание открытого/закрытого ключа.

1) Запускаем Firefox и открываем Key Manager (Инструменты -> Key Manager Tool Box -> Key Manager)

SSH-аутентификация при помощи USB-ключа eToken Pro

2) Вводим пользовательский пароль для eToken

SSH-аутентификация при помощи USB-ключа eToken Pro

3) В главном меню Key Manager выбираем «Generate Self-Signed Cert»

SSH-аутентификация при помощи USB-ключа eToken Pro

4) Заполняем поля как показано на рисунке и нажимаем «Generate Self-Signed Cert». Естественно вам необходимо ввести свои данные, такие как город, страна, и fqdn сервера. Также по желанию можно указать дополнительные свойства сертификата — срок действия и т.д.

SSH-аутентификация при помощи USB-ключа eToken Pro

5) Выберите нужный токен из списка и нажмите «ОК». Обратите внимание, что если вы генерируете сертификат сразу на токене то экспортировать закрытый ключ потом будет невозможно.

SSH-аутентификация при помощи USB-ключа eToken Pro

6) В главном меню Key Manager выделите только что созданный сертификат, и нажмите кнопку «Export»

SSH-аутентификация при помощи USB-ключа eToken Pro

7) В появившемся окне выберите формат «OpenSSH Pubkey» и нажмите кнопку «ОК»

SSH-аутентификация при помощи USB-ключа eToken Pro

В результате получим строку вроде нижеприведенной. Это и есть наш публичный ключ — сохраните его, он нам понадобится на следующем этапе.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDL9ViU3+/80xZka0G91eoDyNuPT4eb1/8ro0iZEBnRI7+B+LwJbWrvqfJxNQluMiGPhftBCao4VjCcby21g0q+1sp42MR1bPD8BgA42ZDuum/sq5gFEM16n+g8+bXxtoZ/kF2bPJ4fGsowmdQCc8I7xECcYazz2AG8oZqU9l0anw==


Настройка аутентификации по ключу на сервере.

В качестве сервера в моем случае выступает машина с установленным Debian Lenny.

Вам необходимо убедиться что в конфигурации sshd разрешена аутентификация при помощи публичных ключей. Для этого необходимо в файле «sshd_config» указать значение параметра «PubkeyAuthentication» в «yes».

Затем в файл "~/.ssh/authorized_keys" добавляем наш публичный ключ полученный ранее (одной строкой). Обратите внимание, файл ".ssh/authorized_keys" находится в домашнем каталоге того пользователя, который потом будет логиниться по публичному ключу.

Настройка SSH-клиента PuTTY SC на использование смарт-карт.

PuTTY SC — это модифицированная версия PuTTY. Единственное значительное отличие от оригинальной версии — поддержка смарт-карт.

Настройка в данном случае почти ничем не отличается от обычных соединений — нужно указать адрес сервера, тип подключения, тип клавиатуры, кодировку.

Для использования аутентификации при помощи смарт-карты зайдите в раздел «Connection -> SSH -> Pkcs11», отметьте галочку «Attempt PKCS#11 smartcard auth (SSH-2)», укажите путь к библиотеке eToken — «C:\Windows\System32\eToken.dll», выберите в списке название токена и закрытый ключ, который мы создали ранее.

SSH-аутентификация при помощи USB-ключа eToken Pro

При подключении вас попросят ввести пользовательский пин-код к USB-ключу.

SSH-аутентификация при помощи USB-ключа eToken Pro

Поздравляю, теперь вы можете использовать SSH-аутентификацию при помощи eToken Pro!

Примечание: несомненно, генерировать ключи можно различными способами, используя различное ПО и различные операционные системы. Связка Windows+Firefox была выбрана как наиболее простая и понятная.

Еще примечание: по вкусу можно отключить на сервере другие методы аутентификации, оставив только аутентификацию по ключу. Данная статья позволяет использовать оба метода аутенфикации, но если вы хотите оставить доступ только по ключу - нужно внести немного правок в конфиг sshd.conf

Перво-наперво, проверьте и отключите доступ root:
PermitRootLogin no


Затем отредактируйте следующие строки:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile    .ssh/authorized_keys
PasswordAuthentication no
UsePAM no

Теги: openssh etoken
Рейтинг статьи:
  • 0
Нашли ошибку?   
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.