Пароль openconnect и ввод cookie

После 2-3 дней поиска и работы, я надеюсь, вы сможете помочь...
Я хочу использовать от openconnect в моей программе и для аутентификации есть 2 решения
1 - использовать от пользователя и pass (но pass не имеет никакой опции для командной строки и только при стандартном вводе может вводить pass)
2 - используется из cookie (но openconnect не работает с cookie для меня!)

Для Cookie я делаю это

- отправить пользователя методом post на сервер
-сервера спросить пароль
-отправить пароль методом post на сервер
-Если все в порядке и auth id = success
-читайте заголовок и получите cookie

откройте командную строку и отправьте ip и cookie в openconenct

и ошибка!

Не удалось создать SSL-соединение

код командной строки

openconnect.exe vpn.server.ip --no-cert-check -C "webvpn=BPlUDg9oaTN2uQQ0DQvH7QopD3x5NahiCHQgTqKQ7KPJg38dSuvqLmYIo9Jskig; Secure,webvpnc=; expires=Thu, 01 Jan 1970 22:00:00 GMT; path=/; Secure,webvpnc=bu:/&p:t&iu:1/&sh:7350D46A8EE85D06&lu:/+CSCOT+/translation-table?textdomain%3DAnyConnect%26type%3Dmanifest&fu:profiles%2F/etc/ocserv/profile.xml&fh:6B5181182D2B5483FBB8D2AA1BCBACC9A70E2BA3; path=/; Secure"

для отправки пользователя и передачи с помощью метода post я использую из C#

2 - для пользователя и передать я делаю эту работу
использовать из командной строки для автозаполнения ввода с этим кодом

type password | openconnect.exe vpn.server.ip -u username --no-cert-check

а также

password | openconnect.exe vpn.server.ip -u username --no-cert-check

а также

openconnect.exe vpn.server.ip -u username --no-cert-check < pas.txt

и снова ошибка!!!

Пароль: ReadConsole() не удалось: дескриптор недействителен.

теперь я хочу знать, что не так в моем коде??

или есть какое-либо лучшее решение для принятия cookie или автозаполнения ввода?

если у вас есть идеи, пожалуйста, скажите мне.

Спасибо и добрые пожелания.

информация о командной строке openconnect

2 ответа

В Ubuntu вы можете использовать это:

openconnect --script ./vpnc.sh target-domain --no-cert-check -u username --passwd-on-stdin < pass.txt

Надеюсь это поможет.

Openconnect Автозаполнение имени пользователя и пароля

Существует компромисс между удобством и безопасностью. Автозаполнение пользователя и пароля не рекомендуется с точки зрения безопасности.

В случае, если вам нужно удобство для автоматического подключения с помощью openconnect, вот простой пример шагов:

Пример простых шагов

Создать незашифрованный пароль

mypass.txt содержит только пароль:


mysupersecretpassword


Создать скрипт для вызова openconnect

myscript.sh содержит две строки команды:


openconnect --protocol=gp vpn.mycompany.com --user=abc123 --passwd-on-stdin < mypass.txt ./myscript.sh


вторая строка ./myscript.sh намеренно добавлен, чтобы сделать цикл сценария навсегда, таким образом, создать постоянное соединение VPN.

Сделать скрипт исполняемым

В терминальной линии:

chmod +x myscript.sh

Запустите ваш скрипт

запустите ваш скрипт с sudo привилегия sudo ./myscript.sh чтобы выйти из цикла просто нажмите CTRL + C

Для большей безопасности

Для дополнительной безопасности вы можете сделать процесс не таким простым:

  1. поместите ваш скрипт и файл паролей в защищенный / скрытый каталог, который только root пользователь уровня может получить доступ;

  2. Зашифруйте незашифрованный пароль и создайте другой скрипт для расшифровки и чтения пароля, например, с помощью Linux. gpg, но вам все равно придется ввести кодовую фразу шифрования / дешифрования.

Другие вопросы по тегам