智人網

在64位Ubuntu上連接Juniper SSL VPN

由於工作的原因,需要連接Juniper SSL VPN,Juniper提供給Linux的版本是32位(32位的so,需要32位的jvm...),對於64位的Ubuntu來說一切都是那麼的不著調.

Google了很長時間,多數的解決方案是是安裝32位的運行庫,32位的firefox,32位的jvm,模擬出一個32位的環境. 但是碰巧找到的這個文檔 ,解決算是比較簡單的. 使用作者提供的腳本(一個名為junipernc的shell腳本,可以從 下載),可以不需要瀏覽器也可以登陸VPN了.但是我在使用的時候仍然遇到了問題,當程序運行起來後,在日誌中總是可以看到下面的日誌:

ncsvc[p6866.t6866] dsclient.info --> GET / (authenticate.cpp:162)

 

ncsvc[p6866.t6866] dsclient.info <-- 404  (authenticate.cpp:194)

 

反覆了幾次後,懷疑是用戶驗證的URL不對(因為看到了404錯誤). 將junipernc腳本中的調用NC.jar的那行修改一下:

echo "$password" | "$JAVA" -jar "$_ncpath/NC.jar" -h "$HOST" -u "$USER" -f "$CERT" -r "$REALM" || ok=false

改為:

echo "$password" | "$JAVA" -jar "$_ncpath/NC.jar" -h "$HOST" -u "$USER" -f "$CERT" -r "$REALM" -U || ok=false

可以看到,增加了-U參數,這個參數是用於登錄校驗的URL,一般是登錄Web時提交登錄信息表單的URL地址.

這時後再重新嘗試登陸,一切都正常了.