macOS High SierraでCisco VPNに自動ログインする方法

  1. AutomatorでAppleScript
  2. コマンドラインからAppleScript

Macintoshオペレーティングシステム(macOS)でCisco IPSec VPNにログインする際、パスワードを保存する方法はありません。

セキュリティ上の理由でパスワードを保存できない?

私にとって最適な解決策は、Automatorでアップルスクリプトを作成するか、コマンドラインから実行して、ログインプロセスを自動化することです。

AutomatorでAppleScript

  1. AppleのAutomatorを開きます
    Automator

  2. 新規書類を選択します
    新規書類

  3. サービスを選択します
    作成されたサービスは、デフォルトで選択された テキスト受け取る設定になっています。これは、サービスを有効にするためにテキストを選択するか、テキストエディタにフォーカスを当てる必要があることを意味します。
    サービス

  4. アクションAppleScriptを実行を検索します。次に、そのアクションを右側にドラッグします。
    アクション「AppleScriptを実行」を検索し、右側にドラッグします

  5. 以下のコードをエディタに貼り付けます

on run {input, parameters}

  set vpn_name to "'your VPN name'"
  set user_name to "your username"
  set passwd to "your password"

	tell application "System Events"
		set rc to do shell script "scutil --nc status " & vpn_name
		if rc starts with "Disconnected" then
			do shell script "scutil --nc start " & vpn_name & " --user " & user_name
			delay 3
			keystroke passwd
			keystroke return
		end if
	end tell
	return input
end run

スクリプトを含むエディタ

  1. スクリプト内のvpn_nameusernamepasswdを更新します

vpn_nameについては、以下のスクリーンショットを参照してください。この例ではVPN (Cisco IPSec)です。スクリプトはscutil --nc statusを使用してVPN接続ステータスを確認し、scutil --nc startを使用してVPN接続を開始します。通常、VPNログインダイアログは3秒以内に表示されます。お使いのラップトップが遅い場合は、delay 3の値を更新してください。プロセスを自動化するには、再生ボタンを使用してスクリプトを実行し、動作を確認してください。

VPN名

  1. VPN Loginなどの名前でスクリプトを保存します
    システム環境設定 -> キーボード -> ショートカットで、自動化スクリプトを見つけることができます。ショートカットキーを割り当てます。デフォルトでは、スクリプトは作成時にテキストサービスに割り当てられます。キーボードショートカットを使用するには、テキストを選択するか、テキストエディタにフォーカスを当てる必要があります。
    VPNのホットキーを割り当てる

  2. Atomなどのテキストエディタからテキストを選択してみてください。適切なショートカットキーを設定すれば、VPNログインを自動化できるはずです。このスクリプトはSierraまたはそれ以前のバージョンのmacOSでも動作するはずですが、私自身は古いシステムでテストしていません。古いmacOSプラットフォームでこの方法を使用した結果があれば、お知らせください。

成功!

コマンドラインからAppleScript

  1. AppleのScript Editorを開きます
    Automator

  2. 新規書類を選択します

  3. 以下のコードをエディタに貼り付けます。AutomatorでAppleScriptを参照してください

set vpn_name to "'your VPN name'"
set user_name to "your username"
set passwd to "your password"

tell application "System Events"
	set rc to do shell script "scutil --nc status " & vpn_name
	if rc starts with "Disconnected" then
		do shell script "scutil --nc start " & vpn_name & " --user " & user_name
		delay 3
		keystroke passwd
		keystroke return
	end if
end tell
  1. スクリプトを保存します。ターミナルからosascript [programfile]でスクリプトを実行できます。

楽しんでください!

シェア