Pessoalmente, tenho preguiça de pegar meu telefone, abrir o aplicativo RSA, inserir meu PIN e digitá-lo na página de login. Eu também não gosto de lidar com o vinho. Então, em vez disso, criei uma solução totalmente insana para esse problema. Eu escrevi um script que fará o SSH em uma máquina Windows, inicie o aplicativo RSA, insira seu PIN, copie o resultado e coloque-o na área de transferência da sua máquina Linux local. Para fazer isso, você precisa de uma máquina Windows que possa ser acessada via SSH com o software RSA instalado. Eu usei freesshd como o servidor SSH no Windows. Você também precisará da AutoHotKey e de PsExec .
Compile o seguinte script AHK na máquina Windows (coloquei o exe resultante em C: \ Arquivos de Programas \ 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%
Em seguida, use o seguinte script de shell no lado do 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 \7.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]*\).*//")
echo -n $PASSCODE | xclip -selection clipboard -in
notify-send --hint=int:transient:1 -i "rsa-securid.png" "Passcode: $PASSCODE"
Quando o script terminar de falar com a máquina Windows, ele colocará a senha na sua área de transferência e exibirá uma pequena notificação. Então, basicamente, você aperta um botão, aguarda alguns segundos e voila, você pode colar a senha.
Espero que ajude.