Personalmente, soy demasiado vago para levantar mi teléfono, abrir la aplicación RSA, ingresar mi PIN y luego escribirlo en la página de inicio de sesión. Tampoco me gusta tratar con Wine. Entonces, en cambio, creé una solución totalmente loca para este problema. Escribí un script que enviará SSH a una máquina con Windows, iniciará la aplicación RSA, ingresará su PIN, copiará el resultado y lo colocará en el portapapeles de su máquina Linux local. Para hacer esto, necesita una máquina Windows a la que pueda acceder a través de SSH con el software RSA instalado. Solía freeSSHd como el servidor SSH en Windows. También necesitará AutoHotKey y PsExec .
Compile el siguiente script AHK en la máquina con Windows (puse el exe resultante en 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%
Luego use el siguiente script de shell en el lado de 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"
Cuando el script termine de hablar con la máquina de Windows, colocará el código de acceso en su portapapeles y aparecerá una pequeña notificación. Así que básicamente presionas un botón, esperas un par de segundos y listo, puedes pegar el código de acceso.
Espero que ayude.