openconnect密码和cookie输入

时间:2015-06-29 22:25:46

标签: command-line passwords openconnect

现在搜索和工作2-3天后,我希望你能帮忙...
我想在我的程序中使用openconnect,并且auth有2个解决方案
1 - 从用户使用并传递(但传递命令行没有任何选项,只有标准输入可以输入传递)
2 - 从cookie中使用(但openconnect不能与我一起使用cookie!)

对于Cookie,我这样做

- 使用post方法向服务器发送用户
-server要求输入密码
- 使用post方法向服务器发送密码
- 如果一切正常并且auth id =成功
-read标题并获取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"

用于发送用户并使用从C#

使用的post方法传递

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 command line info

2 个答案:

答案 0 :(得分:2)

在ubuntu中你可以使用它:

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

希望这有帮助。

答案 1 :(得分:2)

Openconnect自动填充用户名和密码

在便利性和安全性之间需要权衡取舍。考虑到安全性,不建议自动填充用户名和密码。

如果您需要使用openconnect进行自动连接的便利,这里是一个简单的示例步骤:

简单步骤示例

创建纯文本密码文件

my_list = [] for _ in range(n): my_list.append(0) 仅包含密码:


mypass.txt


创建脚本以调用 openconnect

mysupersecretpassword包含两行命令:


myscript.sh


故意添加第二行openconnect --protocol=gp vpn.mycompany.com --user=abc123 --passwd-on-stdin < mypass.txt ./myscript.sh 以使脚本永久循环,从而建立持久的VPN连接。

使脚本可执行

在终端行中:

./myscript.sh

运行脚本

chmod +x myscript.sh特权运行脚本 sudo 要退出循环,只需按 sudo ./myscript.sh

为了提高安全性

为提高安全性,您可以使过程变得不那么简单:

  1. 将您的脚本和密码文件放在只有CTRL + C级用户才能访问的受保护/隐藏目录中;

  2. 例如,使用Linux root对明文密码文件进行加密,并制作另一个脚本来解密和读取密码,但是您仍然必须输入加密/解密密码。