Як отримати з’єднання VPN Cisco, щоб запам'ятати його пароль?


16

Проблема

Підключення VPN Cisco IPSEC у моїх мережевих налаштуваннях на машині Yosemite. Це чудово працює, окрім запиту пароля при кожному з'єднанні. Збережений пароль повністю ігнорується.

Фон

Якщо я введіть пароль у мережевих налаштуваннях і натисніть підключити, збережений пароль зникає, і з'явиться діалогове вікно із запрошенням пароля. Я переконався, що пароль правильний (він копіюється з документа).

Речі, які не спрацювали

  • Рекомендованим рішенням для Snow Leopard було збереження пароля, відкриття Keychain Access, пошук ключа "Xauth" у системній брелоці та надання /usr/libexec/configdдоступу до ключа. Це не мало ефекту.

  • Звичайні дозволи на ремонт / перевірку диска

Дивні речі

Якщо я спостерігаю за доступом до брелока під час натискання кнопки підключення, збережений пароль зникає прямо з брелка справа, коли з'явиться діалогове вікно.

Загальне запитання

Як мені правильно зберегти пароль, щоб мені не потрібно було повторно вводити його під час кожного з'єднання?


хм. Я також отримую дивні проблеми аутентифікації на Yosemite, особливо в діалозі про мережу. Не здивуєтесь, якщо в цьому виникла помилка.
n1000

Ви впевнені, що це не залежить від віддаленої політики VPN (тепер дозволяє зберігати пароль)?
Маттео Гуарнеріо

Це .. пояснило б, чому це пряма стрічка зникає з брелка, якщо явно збережена. Доведеться спілкуватися з адміністраторами мережі!
Mikey TK

Відповіді:


13

Я думаю, ви використовуєте anyconnect для підключення до VPN-сервера Cisco. AnyConnect також можна використовувати від Terminal. Це працює на macOS Sierra та AnyConnect 3.1.14018. Створіть сценарій bash із наступною командою:

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

І введіть реквізити для входу у файл .credentials із наступними трьома рядками:

0
your-username
your-password

Не забудьте додати до файлів обґрунтовані дозволи.


Користувач заявляє: "У мене в мережевих налаштуваннях на машині Yosemite в моєму мережевому налаштуваннях підключення VPN Cisco IPSEC". Цей вибір слів змусив мене з досить високою впевненістю сказати, що вони використовують вбудоване рішення VPN всередині System Preferences / Network / +
GhostLyrics

чи можете ви передати цей файл якось із зашифрованими іменами користувачів та / або паролями? як з файлом паролів на linux
забув ставокxpassword

8

Прочитавши ваше запитання, у мене складається враження, що ви все робите правильно, а сервер Cisco VPN має можливість дозволити збереження паролів, встановлених на стороні клієнта disallow.

Я точно знаю, що така установка існує.


6
Досі прикро, що клієнт OS X дозволяє це disallowналаштування. Так само, як компіляція окуляра без підтримки DRM, щоб скопіювати речення з рецензованого журналу, здається, що це принципово непривітне налаштування для користувачів.
Ландак

2

Обидва відповіді тут, коли я це пишу, мають право на це, але наявність vpnкомандного рядка означає, що ми можемо обійти цю нешкідливу для користувача конструкцію expect. Дякуємо попереднім відповідям, GhostLyrics за те, що вони розкрили існування параметра на стороні сервера, який вимикає збереження пароля, та Гансу за виявлення vpnклієнта командного рядка.

Створіть файл, який виглядає приблизно так:

#!/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. Виконайте це один раз вручну і зазначте, яке число відповідає групі, з якою ви хочете з'єднатися. Він не змінюватиметься між запусками, якщо адміністратори не додають / видалять групи. Тут ви не можете використовувати ім'я, програма очікує номер.

Як тільки все заповниться, chmod +xцей сценарій і запустіть його. Тепер я можу підключитися до свого VPN, вільних рук!


0

Авторотірующій від Ганса " відповіді -Спасибі! - Я хотів , щоб упорядкувати покликання трохи, минаючи термінал і в кінцевому підсумку зі значком AnyConnect в меню Status MacOS. (Я на Мохаве 10.14.6.)

Спочатку запустіть Terminal, а потім перейдіть до каталогу бінарних програм 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

Тепер ви маєте змогу запускати AnyConnect із Spotlight або Finder так само, як зазвичай. Спочатку наш скрипт підключиться, а потім передача виконання в бінарний додаток, так що AnyConnect з'явиться в меню стану робочого столу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.