问题标签 [openconnect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
475 浏览

linux - TCL Expect杀死子进程的子进程

我有一个像这样的期望脚本

这个简单的脚本为 openconnect 提供了用户和密码,以便在后台建立一个新的 VPN 连接,但它不会起作用,因为子进程被期望杀死。如您所知,expect 将在完成之前发送 SIGHUP 信号,我试图解决它,但即使我放置了 -ignore HUP 标志,它也会杀死底层进程,我想结束我的脚本,但底层的 openconnect 在后台存活。

你知道这里缺少什么吗?

考虑到 openconnect -b 将自己生成其他 PID。

0 投票
1 回答
553 浏览

github - 如何使用 github ssh auth 通过 openconnect vpn 从 Github 推/拉?

我在 Ubuntu 16.04 LTS 中使用openconnect通过 vpn 连接到远程机器。我正在尝试使用 ssh 身份验证向/从 Github 推送和拉取,但它不起作用。当我尝试拉或推时,它会给出错误:

当我连接nomachine时,我可以用 Github 推/拉没问题。

我试过用谷歌搜索很多不同的东西,但在 openconnect 或 ssh 的选项中还没有发现任何有用的东西。

有任何想法吗?

0 投票
1 回答
844 浏览

bash - 从 .desktop 文件在终端中添加输入并显示输出

我有连接到我的 vpn 的 bash 脚本。

bash 脚本 - Openconnect.sh

打开connect.desktop 文件

当我们只执行 bash 脚本时,它会要求我输入用户名和密码,然后进行确认。

但是,当我们执行 Openconnect.desktop 时,它不会显示在终端窗口中以提供输入。我正在使用 Linx Mint 18 操作系统。

我在这里错过了什么吗?

0 投票
1 回答
1249 浏览

nginx - kubernetes liveness probe 重启以 CrashLoopback 结尾的 pod

我有一个带有 2 个带有 openconnect vpn 代理容器的 nginx 副本的部署(一个 pod 只有一个容器)。

它们开始时没有任何问题并且一切正常,但是一旦连接崩溃并且我的活性探测失败,nginx 容器将重新启动,最终以 CrashLoopbackoff 结束,因为 openconnect 和 nginx 重新启动失败

nginx:

打开连接:

似乎 /etc/resolv.conf 是由 openconnect 编辑的,并且在 pod 重新启动时它保持不变(尽管它不是持久卷的一部分),我相信整个容器应该从一个干净的 docker 映像运行, /etc/resolv.conf 没有被修改,对吧?

修复 CrashLoopback 的唯一方法是删除 pod,然后部署 rc 运行一个可以工作的新 pod。

创建一个新的 pod 与当 pod 中的容器被 liveness 探针 restartPolicy: Always 重启时有什么不同?容器是否以干净的图像重新启动?

0 投票
1 回答
3512 浏览

python - SQLAlchemy 无法使用数据库 URL 连接到 Oracle 数据库

我正在尝试创建一个连接到 VPN 的 Docker 容器,然后检查它是否可以连接到某些数据库。目前我正在使用以下代码:

db_uri在这种情况下,最终将mssql+pymssql://user:pass@host:port_num/database_name用于 SQL Server 数据库和oracle+cx_oracle://user:pass@host:port_num/database_nameOracle 数据库。

以上对 SQL 服务器和 Postgres 数据库工作正常,但对于 Oracle 数据库,我收到此错误:

最初我认为这意味着无法找到主机,但在 ping 时它会响应。另外,奇怪的是,如果我直接使用 cx_Oracle 与“Oracle 样式”连接字符串连接并将其提供给 SQLAlchemy,我可以连接:

在这种情况下conn_str将是user/pass@host/database_name.

在我的 Docker 容器中,我正在运行 Python 3 并使用 openconnect 连接到 VPN。我还在我的容器中安装了 Oracle 即时客户端。

要求.txt:

我在这里的某个地方犯了错误还是这是 SQLAlchemy 的错误?

0 投票
2 回答
3792 浏览

authentication - 你能解释一下 openid 连接流程中的 RP->OP 部分吗?

在此处输入图像描述

我不明白这1部分。

例如,我有一个网站asdf.com并使用googleOP,所以我在我的网站上有一个带有指向 google 网站login with google的链接(类似于 )的按钮。https://account.google.com/XXX?return_url=asdf.com

所以用户会点击这个按钮登录,所以我认为1步骤应该是enduser -> OP?为什么RP -> OP

0 投票
1 回答
348 浏览

php - OpenConnect with Apigility 用 JWT 回答

如何使用 Apigility 实现 OpenConnect 以通过 JWT 类型响应来回答?

问题是只添加 OAuth2 非常简单,只需遵循 Apigility 的文档(或者这个非常棒的文档),但是当涉及到像下面的示例那样获取 JWT 时,找到文档并不是那么容易。

所以,这更像是一个问答,因为我在任何地方都没有找到它,我花了将近 2 周的时间自己收集所有信息,认为这对其他人有用。

请注意,JWT 分为 3 个部分:

前两个来自 Base64,您可以在其中使用,最后一个是为验证生成的密钥。(有关详细信息,请参阅此内容)。

解决方案如下。

0 投票
2 回答
480 浏览

bash - 将标准输入重定向几行,然后返回键盘输入

我有一个调用 openconnect 的 bash 脚本,然后它转身从标准输入读取 4 行。它们是(按顺序):组、密码、身份验证类型和一次性密码。

我可以以编程方式获取前 3 个的值,但一次性密码每次都会更改。有没有办法编写一个脚本,可以为前 3 个值()重定向标准输入,printf "%s\n%s\n%s\n" $group $password $auth然后让程序读取最后一行(一次性密码)作为键盘输入?

在上面的脚本中,我传递了 4 个openconnect提示中的 3 个,但是当它提示输入第 4 个值(一次性密码)时,它会立即吞下一个空字符串,而不是等待键盘输入。

0 投票
0 回答
1089 浏览

java - Spring Boot 应用程序无法通过 VPN 连接到服务器

我有一个通过 vpn 连接到服务器的 spring boot 应用程序。它在 Windows 上运行良好,但是当部署在 linux 服务器上时它会抛出

Linux操作系统是Centos。Windows 上使用的 vpn 客户端是 AnyConnect,而 Linux 客户端是 OpenConnect。关于如何解决这个问题的任何想法?

0 投票
1 回答
957 浏览

continuous-integration - 在 Gitlab CI/CD 中 OpenConnect“必须以 root 身份运行”

我正在尝试让我的持续交付工作,然后将二进制文件上传到公司服务器,该服务器只能通过 VPN 连接访问。

问题是,每次我尝试它时,我都会收到以下错误:

奇怪的是,我的代码sudo明确使用 in .gitlab-ci.yml,所以我希望它拥有所有权利。

那么,你知道我的代码有什么问题吗?或者是一些 GitLab CD 特定的问题?