Могу ли я использовать программный токен RSA SecurID в Ubuntu Linux?

14

У меня есть компьютеры с Windows, Mac и Linux; но в настоящее время я могу подключаться к некоторым веб-сайтам моей компании только через компьютеры под управлением Windows и Mac, поскольку они являются единственными, использующими программные токены RSA SecurID. Мне любопытно: возможно ли настроить программный токен SecurID для работы в системе Linux (в моем случае, Ubuntu)?

Дэн Тао
источник
Здесь происходит что-то еще? Какая-то система единого входа в дополнение к токенам?
Дорогой
@PriceChild: Честно говоря, я не думаю, что понимаю, как токены RSA работают достаточно хорошо, чтобы даже получить то, что вы просите. Все, что я знаю, это то, что обычно для доступа к определенным сайтам в моей компании мне нужно ввести строку, отображаемую моим программным токеном, в поле ввода. Затем я могу войти в систему. Поскольку у меня нет такого токена на моей машине с Linux, я считаю сайты недоступными. Возможно, это очень неточно; Как я уже сказал, я не совсем понимаю всю систему достаточно хорошо, чтобы знать.
Дан Тао

Ответы:

8

Для Linux нет токена программного обеспечения RSA, поэтому вам нужно будет использовать Wine (или запускать windows на виртуальной машине). Существует поток здесь , где версия Wine и версия RSA Software детальнее , который был найден на работу.

Другой альтернативой может быть получение токена на основе телефона, чтобы вы не зависели от конкретного рабочего стола и от слабости вина. Большинство телефонных платформ поддерживаются.

Павел
источник
2
Телефонное решение было прямо передо мной все время, и я был слишком глуп, чтобы заметить!
Дэн Тао
Посмотрите ответ ниже относительно stoken , я попробовал это, и я очень впечатлен. Что касается программного обеспечения Wine + RSA, я даже не могу установить или запустить более новые версии без сбоев и / или зависаний (хотя я использую Wine staging 2.2). Кажется, работает только RSA SecurID v410, и это очень неуклюже.
Джонатан Нойфельд
16

В последних версиях Ubuntu предлагается пакет stoken , собственная реализация SecurID с открытым исходным кодом, которая включает в себя CLI, GTK + GUI и библиотечный API.

Для получения дополнительной информации см. Домашнюю страницу проекта .

Кевин Чернеке
источник
Это очень впечатляющий продукт. Он выглядит профессионально, прост в использовании и требует очень мало настроек и накладных расходов. Работая отлично для меня, Windows RSA SecurID очень тяжелый и идет слишком далеко по сравнению с пользовательским интерфейсом для такого простого инструмента. Эта дополнительная сложность делает его чрезвычайно хрупким, и новые версии не будут работать.
Джонатан Нойфельд
9

Лично мне лень взять телефон, открыть приложение RSA, ввести мой PIN-код, а затем ввести его на странице входа. Я также не люблю иметь дело с вином. Поэтому вместо этого я создал совершенно безумное решение этой проблемы. Я написал скрипт, который подключит SSH к машине с Windows, запустит приложение RSA, введет ваш PIN-код, скопирует результат и поместит его в буфер обмена вашего локального компьютера с Linux. Для этого вам нужен компьютер с Windows, к которому вы можете получить доступ через SSH с установленным программным обеспечением RSA. Я использовал freesshd в качестве SSH-сервера в Windows. Вам также понадобятся AutoHotKey и PsExec .

Скомпилируйте следующий скрипт AHK на компьютере с Windows (я поместил полученный файл в C: \ Program Files \ RSA SecurID Software Token \ rsa-securid.exe):

TokenName = %1%
Pin = %2%
Run, "C:\Program Files\RSA SecurID Software Token\SecurID.exe"
WinWait, %TokenName% - RSA SecurID Token, 
IfWinNotActive, %TokenName% - RSA SecurID Token, , WinActivate, %TokenName% - RSA SecurID Token, 
WinWaitActive, %TokenName% - RSA SecurID Token, 
Send, %Pin%
Sleep, 100
Send, {Enter}
Sleep, 100
Send, ^c
Passcode = %Clipboard%
Sleep, 100
Send, {AltDown}{F4}{AltUp}
ExitApp %Passcode%

Затем используйте следующий скрипт на стороне Linux:

#!/bin/bash
NAME=<the rsa token name>
PIN=<your pin>
HOST=<windows host>
USER=<windows user>
PASSWORD=<windows password>
SESSION=1
PASSCODE=$(ssh $HOST "cmd /c \"C:\Program Files (x86)\Sysinternals\PsExec.exe\" /accepteula \\\127.0.0.1 -u $USER -p $PASSWORD -i $SESSION  C:\\PROGRA~1\\RSASEC~1\\rsa-securid.exe $NAME $PIN" | grep "error code" | sed "s/.*error code \([0-9]*\).*/\1/")
echo -n $PASSCODE | xclip -selection clipboard -in
notify-send --hint=int:transient:1 -i "rsa-securid.png" "Passcode: $PASSCODE"

Когда скрипт завершит разговор с машиной Windows, он поместит пароль в буфер обмена и высветит небольшое уведомление. Таким образом, в основном вы нажимаете кнопку, ждете пару секунд, и вуаля, вы можете вставить пароль.

Надеюсь, это поможет.

nxmehta
источник
4

Я создал скрипт для генерации пароля из командной строки, поэтому мне не нужно иметь дело с приложением Windows. Он в основном запускает wine в фоновом режиме, захватывает вывод и выводит его на консоль.

Мариуш
источник