Windows、Mac、およびLinuxコンピューターがあります。ただし、現時点ではWindowsとMacマシンを介して会社のWebサイトの一部にしか接続できません。RSASecurIDソフトウェアトークンを使用できるのはこれらのマシンのみであるためです。好奇心が強い:Linuxシステム(私の場合はUbuntu)で動作するようにSecurIDソフトウェアトークンを設定することは可能ですか?
Windows、Mac、およびLinuxコンピューターがあります。ただし、現時点ではWindowsとMacマシンを介して会社のWebサイトの一部にしか接続できません。RSASecurIDソフトウェアトークンを使用できるのはこれらのマシンのみであるためです。好奇心が強い:Linuxシステム(私の場合はUbuntu)で動作するようにSecurIDソフトウェアトークンを設定することは可能ですか?
回答:
Linux用のRSA Softwareトークンはないため、Wineの使用(または仮想マシンでのWindowsの実行)に頼る必要があります。ここには、WineバージョンとRSA Softwareバージョンの詳細が機能することがわかっているスレッドがあります。
別の選択肢は、特定のデスクトップやワインのフレークネスに依存しないように、電話ベースのトークンを取得することです。ほとんどの電話プラットフォームがサポートされています。
Ubuntuの最近のバージョンは、CLI、GTK + GUI、およびライブラリAPIを含むネイティブオープンソースSecurID実装であるstokenパッケージを提供します。
詳細については、プロジェクトのホームページを参照してください。
個人的に、私は電話を取り、RSAアプリを開き、PINを入力し、ログインページに入力するのが面倒です。私もワインを扱うのが好きではありません。そのため、代わりに、この問題に対する完全に正気でないソリューションを作成しました。WindowsマシンにSSHで接続し、RSAアプリを起動し、PINを入力し、結果をコピーして、ローカルLinuxマシンのクリップボードに入れるスクリプトを作成しました。これを行うには、RSAソフトウェアがインストールされたSSH経由でアクセスできるWindowsマシンが必要です。freesshdをWindowsのSSHサーバーとして使用しました。AutoHotKeyとPsExecも必要です。
Windowsマシンで次のAHKスクリプトをコンパイルします(結果の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%
次に、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"
スクリプトがWindowsマシンとの通信を完了すると、パスコードがクリップボードに入れられ、少しの通知がポップアップ表示されます。基本的に、ボタンを押して、数秒待ってから、パスコードを貼り付けることができます。
お役に立てば幸いです。