निजी तौर पर, मैं अपना फोन लेने के लिए बहुत अधिक आलसी हूं, RSA ऐप खोलें, अपना पिन दर्ज करें, और फिर इसे लॉगिन पृष्ठ पर टाइप करें। मुझे शराब से निपटना भी पसंद नहीं है। इसलिए, इसके बजाय, मैंने इस समस्या का एक पूरी तरह से पागल समाधान बनाया। मैंने एक स्क्रिप्ट लिखी है जो एक विंडोज़ मशीन में एसएसएच करेगा, आरएसए ऐप लॉन्च करेगा, अपना पिन दर्ज करेगा, परिणाम कॉपी करेगा, और इसे आपके स्थानीय लिनक्स मशीन के क्लिपबोर्ड में डाल देगा। ऐसा करने के लिए आपको एक विंडोज़ मशीन की आवश्यकता होती है जिसे आप एसएसएच के माध्यम से आरएसए सॉफ़्टवेयर स्थापित कर सकते हैं। मैंने विंडोज में SSH सर्वर के रूप में फ़्रीशैड का उपयोग किया । आपको AutoHotKey और PsExec की भी आवश्यकता होगी ।
निम्न AHK स्क्रिप्ट को Windows मशीन पर संकलित करें (मैं परिणामी exe को 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%
फिर लिनक्स पर निम्नलिखित शेल स्क्रिप्ट का उपयोग करें:
#!/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"
जब स्क्रिप्ट विंडोज मशीन से बात कर रही होती है, तो यह आपके क्लिपबोर्ड में पासकोड डाल देगा और थोड़ी सी सूचना पॉपअप कर देगा। तो मूल रूप से आप एक बटन दबाते हैं, कुछ सेकंड प्रतीक्षा करते हैं, और वॉइला आप पासकोड पेस्ट कर सकते हैं।
उम्मीद है की वो मदद करदे।