パスワードを記憶するために、どのようにしてCisco VPN接続を取得しますか?


16

問題

Yosemiteマシンのネットワーク設定でCisco IPSEC VPN接続を使用しています。すべての接続でパスワードの入力を求めることは別として、問題なく機能します。保存されたパスワードは完全に無視されます。

バックグラウンド

ネットワーク設定でパスワードを入力して接続をクリックすると、保存したパスワードが消え、パスワードの入力を求めるダイアログが表示されます。パスワードが正しいことを確認しました(ドキュメントからコピーアンドペーストされています)。

うまくいかなかったもの

  • Snow Leopardのこれに対する推奨される解決策は、パスワードを保存し、キーチェーンアクセスを開き、システムキーチェーンで「Xauth」キーを見つけ、キー/usr/libexec/configdへのアクセスを許可することでした。これは効果がありませんでした。

  • 通常のアクセス許可の修復/ディスクチェックなど

奇妙なもの

接続ボタンを押しながらキーチェーンへのアクセスを監視すると、ダイアログが表示されたときに、保存されたパスワードキーチェーンから完全に消えます

全体的な質問

パスワードを正しく保存して、接続ごとにキーを再生成する必要がないようにするにはどうすればよいですか?


うーん。また、特にネットワークのダイアログでは、Yosemiteで奇妙な認証の問題が発生します。バグが含まれていても驚かないでしょう。
n1000

リモートVPNポリシーに依存していないことを確認してください(現在、パスワードの保存が許可されています)。
マッテオ

それは、明示的に保存された場合、キーチェーンからまっすぐに消える理由を説明します。ネットワーク管理者とチャットする必要があります!
マイキーTK

回答:


13

anyconnectを使用してCisco VPNサーバーに接続していると思います。AnyConnectは、ターミナルからも使用できます。これは、macOS SierraおよびAnyConnect 3.1.14018で機能します。次のコマンドでbashスクリプトを作成します。

/opt/cisco/anyconnect/bin/vpn connect your-vpn.server.here -s <.credentials

そして、ログインの詳細をファイル.credentialsに次の3行で入力します。

0
your-username
your-password

ファイルに適切な許可を設定することを忘れないでください。


ユーザーは、「Yosemiteマシンのネットワーク設定でCisco IPSEC VPN接続を使用しました」と述べています。言葉のこの選択は、彼らがシステム環境設定/ネットワーク/ +内部でVPNビルドでソリューションを使用していることではなく、高い確実性で結論に私を導いた
GhostLyrics

ユーザー名やパスワードを暗号化して、何らかの方法でそのファイルを渡すことができますか?Linux上のパスワードファイルと同じように
forgotstackxpassword

8

あなたの質問を読むことで、私はあなたがすべてを正しくやっているという印象を受け、Cisco VPN Serverにはクライアント側に設定されたパスワードの保存を許可するオプションがありますdisallow

そのような設定が存在することは確かに知っています。


6
OS Xクライアントこのdisallow設定を許可しているのはいらいらします。査読済みのジャーナルから文章をコピーするためにDRMサポートなしでokularをコンパイルするのと同じように、これは基本的にユーザーに優しい設定ではないようです。
ランダック

2

私がこれを書いているときの両方の答えはその権利を持っていますが、vpnコマンドラインの存在は、このユーザーに敵対的なデザインを回避できることを意味しexpectます。前の回答者、パスワード保存をオフにするサーバー側オプションの存在を明らかにしてくれたGhostLyrics、およびvpnコマンドラインクライアントを明らかにしてくれたHansに感謝します。

次のようなファイルを作成します。

#!/usr/bin/expect --
set timeout 10
set addr ""  # VPN Host
set user ""  # Username
set pass ""  # Password (ensure that special characters are escaped)
set group "" # Group NUMBER shown in connect prompt


spawn /opt/cisco/anyconnect/bin/vpn connect $addr
expect "\r\nGroup:*"
send -- "$group\r"
expect "\r\nUsername:*"
send -- "$user\r"
expect "Password: "
send -- "$pass\r"
expect eof

記入set通常どおりフィールドを。VPNが私のようなものである場合、を実行すると「グループ」のリストが表示されますvpn connect。これを手動で1回実行し、接続するグループに対応する番号をメモします。管理者がグループを追加/削除しない限り、実行ごとに変更されません。ここで名前を使用することはできません。プログラムは数字を期待しています。

すべてが記入されたら、chmod +xこのスクリプトを実行します。ハンズフリーでVPNに接続できるようになりました!


0

Hansからの フリーホイール' 回答 —ありがとう!—呼び出しを少し合理化し、ターミナルをバイパスして、macOSステータスメニューのAnyConnectアイコンで終わるようにしたかったのです。(私はMojave 10.14.6を使用しています。)

まず、ターミナルを起動してから、AnyConnectアプリケーションバイナリのディレクトリに移動します。

$ cd "/Applications/Cisco/Cisco AnyConnect Secure Mobility Client.app/Contents/MacOS"

元のバイナリのコピーを作成します。

$ sudo cp \
"Cisco AnyConnect Secure Mobility Client" \
"Cisco AnyConnect Secure Mobility Client.orig"

最後に、シェルスクリプトで初期ファイルを上書きVPN hostし、VPNホスト名またはアドレス、userおよびpa$$w0rd資格情報に変更します。

$ sudo cat > "Cisco AnyConnect Secure Mobility Client" <<'SCRIPT'
#!/bin/sh

# The AnyConnect vpn utility takes some options and commands or
# else runs interactively. The help command shows that -s reads
# a script from STDIN and that connect takes a host as argument.
# connect gets the username and password from STDIN. We will 
# supply them from a heredoc with the -s option.

/opt/cisco/anyconnect/bin/vpn -s \
connect "VPN host" <<'CREDENTIALS'
user
pa$$w0rd
CREDENTIALS

exec "$0.orig"  # invoke the original app
SCRIPT

これで、通常どおりSpotlightまたはFinderからAnyConnectを実行できるようになります。最初にスクリプトが接続され、次にアプリケーションバイナリに実行が渡されるので、デスクトップのステータスメニューにAnyConnectが表示されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.