Я пытаюсь использовать Cisco anyconnect 3.1 из командной строки Linux для подключения к серверу. Я могу подключиться, но мне нужно отправить по одному параметру за раз. Я хотел бы подключиться из сценария, который будет работать на другом сервере. Я могу это сделать? Что-то типа
vpn connect server_add group_name user_name passwd
networking
vpn
cisco-vpn-client
Келли Гёдерт
источник
источник
Ответы:
Предполагается,
/opt/cisco/anyconnect/bin/vpnagentd
что работает так, как это должно быть автоматически:Для подключения :
Заменить
USERNAME
,PASSWORD
иHOST
. В\ny
конце принимается баннер входа в систему - это специфично для моего хоста.Обратите внимание на одинарные кавычки
'
вместо двойных кавычек"
- это потому, что двойные кавычки говорят Bash интерпретировать определенные символы в строках, такие как восклицательные знаки, как команды истории Bash. Двойные кавычки приведут к сбою этой команды с ошибкой «событие не найдено», если пароль содержит восклицательный знак. Строки в одинарных кавычках передают восклицательные знаки без их интерпретации.Чтобы отключить :
Это было проверено с AnyConnect v3.1.05160.
источник
Certificate is from an untrusted source
, и вы все еще хотите подключить затем передатьy
параметр в указанном выше способе , так что команда подключения становится:printf "y\nUSERNAME\nPASSWORD\ny" | /opt/cisco/anyconnect/bin/vpn -s connect HOST
. Обратите внимание, что делайте это только в том случае, если вы абсолютно доверяете своему соединению; в противном случае там может быть посредник, который присматривает за вами.GROUPNAME\nUSERNAME\nPASSWORDy
. Если вы хотите сохранить свой пароль отдельно от команды (это может быть сценарий оболочки или привязка ключаcat ~/.anyconnect_credentials | /opt/cisco/anyconnect/bin/vpn -s connect HOST
>> notice: Please respond to banner. MYPASSWORD
Я столкнулся с той же трудностью, пытаясь использовать Cisco AnyConnect от Mac OS X Terminal. Чтобы команда Cisco vpn получала свой ввод от стандартного ввода, необходимо указать параметр -s, который переводит команду Cisco vpn в интерактивный режим. Затем вы можете предоставить ответы, которые вы даете в интерактивном режиме.
Ответы, которые вам нужно дать, зависят от того, как администратор сервера VPN настроил сервер. Для меня интерактивные подсказки vpn
Итак, команда, которую я запускаю,
(Кавычки вокруг EOF предназначены для предотвращения расширения / замены команды / параметра в следующем входе.)
Выход в конце, чтобы выйти из интерактивного режима в Cisco VPN.
источник
Мне нравится упрощать командную строку, поэтому я использую описанный выше подход в сценарии оболочки под названием gotowork. Как и выше, мне нужно указать группу, мое имя пользователя и пароль, состоящий из личного PIN-кода и пароля RSA SecurID. Я не должен отвечать на вышеизложенное "принять?" вопрос. Все, кроме пароля RSA находится в скрипте, поэтому командная строка
Я должен запустить его как root. Предположим, что PIN-код 1234. Основы сценария:
Используя anyconnect 3.1.05170. Протестировано на Debian 6, LinuxMint 17
источник
0\n
нужно? Или это специфично для вашей компании?0
, за которым\n
следует новая строка , за которой следует имя пользователя, затем новая строка и\n
т. Д.0
тогда означает «использовать первую группу».Это то, что работало для меня на OSX El Capitan. Заполнители окружены [квадратными скобками].
Включить
Отключить
* Я знаю, что это похоже на ответ Питера С. выше.
источник
printf "y\n[GROUP]\n\n[PASSWORD]\ny\n" | /opt/cisco/anyconnect/bin/vpn -s connect HOST