Cisco AnyConnect v3.1 AutoLogin


10

У меня возникли небольшие трудности с Cisco AnyConnect v3.1 в отношении автоматического входа в систему. Я должен оставаться подключенным к одному серверу весь день каждый день, и было бы просто супер, если бы мне не приходилось выкапывать свой пароль из 16 символов каждый день. Я бы хотел, чтобы клиент входил автоматически, но на данный момент я даже не уверен, что это возможно.

Я должен отметить, что программное обеспечение AnyConnect предоставляется мне нашей хостинговой компанией, и я, ни кто-либо в моей организации, не имеем доступа к управлению. Я видел, что на веб-сайтах есть такая часть программного обеспечения, которая называется «Редактор профилей AnyConnect», но Cisco не разрешила мне скачать без действительного имени пользователя.

Я собирался %appdata%\local\cisco\cisco anyconnect secure mobility client\preferences.xmlпроверить свои предпочтения, а также %programdata%\Cisco\Cisco AnyConnect Secure Mobility Client\Profile\ANYCONNECT.XMLпросмотреть настройки моего профиля. Ни один из них нигде не показал, что я смогу хранить свои учетные данные. Я даже несколько раз ломал свой профиль, пытаясь подменить мой пароль местами. Это не сработало, пойди разберись.

Наконец, я нашел это сообщение на форуме, в котором, по-видимому, указывались «отпечатки» сертификата клиента и сервера, а также что-то, называемое токеном SDI.

Отказ от ответственности: я - веб-разработчик внешнего вида днем, и прошло довольно много времени с тех пор, как мне приходилось заниматься сетевым управлением для себя, извините за вопрос noob!


1
Обычно это политика, которая устанавливается и контролируется людьми, которые управляют доступом Anyconnect. Поскольку вы заявили, что у вас нет доступа к этой части конфигурации, я сомневаюсь, что мы могли бы многое сделать, чтобы помочь вам. И это, вероятно, не по теме, как вопрос «конечного пользователя».
Бретт Ликинс

Разумный вопрос с хорошей детализацией ... давайте перейдем к Super User
Майк Пеннингтон

Ответы:


16

Вот мой сценарий для запуска Cisco AnyConnect Mobility Client v3.1 и автоматического входа в систему. Сохраните этот сценарий как FILENAME.vbs , замените ПАРОЛЬ своим паролем, замените путь к исполняемому файлу VPN-клиента, если это необходимо (возможно, нет), и вам также может потребоваться настроить время второго спящего режима также в зависимости от скорости вашего соединения (мой работает надежно на 5000, но ваш может потребоваться меньше / больше времени, чтобы позвонить домой). Я прикрепил мой к моей панели задач, но вы также можете активировать его.

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run """%PROGRAMFILES(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe"""

WScript.Sleep 3000

WshShell.AppActivate "Cisco AnyConnect Secure Mobility Client"

WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{ENTER}"

WScript.Sleep 5000

WshShell.SendKeys "PASSWORD"
WshShell.SendKeys "{ENTER}"

1
Довольно хорошее решение! Я поставил несколько дополнительных вкладок , ENTER и сна для моего конкретного случая, и он работал отлично. Для моей машины и подключения к Интернету (300 Мбит / с) я сократил время ожидания всего на полсекунды (500 миллисекунд) и теперь я получаю VPN-соединение очень быстро! Спасибо!
informatik01

1
Примечание: если ваш пароль содержит символы%! (^ ~ +, Вам нужно поставить вокруг них {и}.
jeroenk

4

Я использую что-то вроде этого:

set FILE=%TEMP%\tmp
echo connect your.host.name> %FILE%
(echo 0)>> %FILE%
echo yourUserName>> %FILE%
echo yourPassWord>> %FILE%
"C:\Program Files\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s < %FILE%

( Обновление: почему круглые скобки echo 0? Это должно напоминать вам, когда вы делаете выбор, отличный от того 0, который 1>или 2>имеет особое значение, перенаправление stdoutили stderr, соответственно, - но не повторение 1или 2. Поэтому мы остаемся в безопасности с ( echo 0).)

Это немного более кратко:

(echo connect your.host.name& echo 0& echo yourUserName& echo yourPassWord& echo.) > %FILE%
more %FILE% | "C:\Program Files\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s

Однако, если вы хотите добиться того же самого без временного файла, это не работает для меня - мне было бы интересно, почему:

(echo connect your.host.name& echo 0& echo yourUserName& echo yourPassWord) | "%ProgramFiles(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s

Обновление: это работает, найдено через /programming//a/29747723/880783 :

(echo connect your.host.name^& echo 0^& echo yourUserName^&echo yourPassWord^&rem.) | "%ProgramFiles(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s

Все эти варианты зависят, конечно, от конфигурации вашего сервера (особенно от выбранной вами группы VPN). Чтобы узнать, что вам нужно ввести, vpncli.exeодин раз позвоните без каких-либо параметров, начните с connect your.host.name, а затем запишите, что вам предлагается.

Обновление: это дает дополнительное преимущество, предлагая полную свободу в отношении сервера, имени пользователя и пароля, и не зависит от каких-либо значений спящего режима (что всегда сложно, если ваша система имеет тенденцию быть занятой чем-то другим).


2
Ключ -s недоступен в версии 3.1 клиента. У вас есть версия 4.1? Эта версия общедоступна где-нибудь? У меня нет действующей лицензии для ее загрузки с веб-сайта Cisco.
SzilardD

Да, я использовал версию 4+. Однако я не знаю ни одного легального публичного источника (вероятно, из-за ограничений на экспорт).
Берс

3

Я отвечаю на свой собственный вопрос этим ответом "Мех" - это не то, что я хотел, и я с радостью приму другой ответ, который может лучше ответить на мой первоначальный вопрос.

Поскольку с автоматическим входом мне не везло, следующей лучшей вещью, о которой я мог подумать, было автоматическое копирование моего смехотворно длинного пароля в буфер обмена. В Windows я создал .batфайл с этим в теле:

echo|set /p=MyPassword|clip

Где «MyPassword» - ваш действительный пароль.

При двойном щелчке этот файл скопирует ваш пароль в буфер обмена для быстрого входа в систему. Лучше чем ничего!


Если вы хотите немного облегчить автоматизацию, используйте autoit, чтобы запустить приложение VPN, а затем скопируйте пароль в поле пароля
Майк Пеннингтон,

2
Пожалуйста, в чем преимущество по echo|set /p=MyPassword|clipсравнению с просто echo MyPassword|clip?
Берс

3
@bers Если вы используете просто, echo your_pass| clipон также добавит / добавит символ новой строки в конце your_pass . Просто попробуйте сами, и когда вы вставите его в какой-либо редактор, вы заметите, что курсор находится на следующей строке (если у вас есть редактор, который может отображать символы новой строки, такие как Notepad ++ или SciTE , используйте его, и вы увидите CRLF на Windows в конце your_pass ). Но текущее решение MikeZ работает отлично (как способ копирования пароля в буфер обмена).
informatik01

1
@ informatik01 Спасибо за объяснение!
Берс

1
(1) Отличное объяснение @ informatik01 не в полной мере учитывает необходимость echo|в начале командной строки. Причина в том, что set /pэто команда для чтения значения (строки) из стандартного ввода. Без echo|этого set /p=MyPassword|clipкоманда будет молча сидеть и читать строку из терминала. (2) Я ненавижу видеть |без пробелов до и после. Но будьте осторожны, что echo | set /p=MyPassword | clipбудет писать MyPassword (с завершающим пробелом) в буфер обмена. Вы можете предотвратить это, добавив кавычки: echo | set /p="MyPassword" | clip.
Скотт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.