Şahsen, telefonumu almak, RSA uygulamasını açmak, PIN kodumu girmek ve giriş sayfasına yazmak için çok tembelim. Şarap ile uğraşmayı da sevmiyorum. Bunun yerine, bu soruna tamamen çılgın bir çözüm yarattım. SSH'yi bir Windows makinesine yazacak, RSA uygulamasını başlatacak, PIN kodunuzu girecek, sonucu kopyalayacak ve yerel Linux makinenizin panosuna koyacağım bir komut dosyası yazdım. Bunu yapmak için, RSA yazılımı yüklü olarak SSH üzerinden erişebileceğiniz bir Windows makinesine ihtiyacınız vardır. Freesshd'yi Windows'ta SSH sunucusu olarak kullandım . Ayrıca AutoHotKey ve PsExec'e de ihtiyacınız olacak .
Windows makinesinde aşağıdaki AHK komut dosyasını derleyin (ortaya çıkan exe'yi C: \ Program Files \ RSA SecurID Software Token \ rsa-securid.exe dosyasına koydum):
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%
Sonra Linux tarafında aşağıdaki kabuk komut dosyasını kullanın:
#!/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"
Komut dosyası Windows makinesiyle konuşmayı bitirdiğinde, şifreyi panonuza koyar ve küçük bir bildirim açar. Temel olarak bir düğmeye basarsınız, birkaç saniye beklersiniz ve şifreyi yapıştırabilirsiniz.
Umarım yardımcı olur.