Secara pribadi, saya terlalu malas untuk mengangkat telepon saya, membuka aplikasi RSA, memasukkan PIN saya, dan kemudian mengetiknya di halaman login. Saya juga tidak suka berurusan dengan Wine. Jadi, sebagai gantinya, saya menciptakan solusi yang benar-benar gila untuk masalah ini. Saya menulis sebuah skrip yang akan SSH ke mesin Windows, meluncurkan aplikasi RSA, memasukkan PIN Anda, menyalin hasilnya, dan memasukkannya ke clipboard mesin Linux lokal Anda. Untuk melakukan ini, Anda memerlukan mesin Windows yang dapat Anda akses melalui SSH dengan perangkat lunak RSA diinstal. Saya menggunakan freesshd sebagai server SSH di Windows. Anda juga akan membutuhkan Autohotkey dan PsExec .
Kompilasi skrip AHK berikut di mesin Windows (saya meletakkan exe yang dihasilkan di 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%
Kemudian gunakan skrip shell berikut di sisi 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"
Ketika skrip selesai berbicara dengan mesin Windows, itu akan memasukkan kode sandi di clipboard Anda dan memunculkan sedikit pemberitahuan. Jadi pada dasarnya Anda menekan tombol, tunggu beberapa detik, dan voila Anda dapat menempelkan kode sandi.
Semoga itu bisa membantu.