使用 OKTA 推送身份验证在 Linux 框中连接到 AWS-VPN

Connecting in a Linux box to AWS-VPN using OKTA Push Authentication

首先是菜鸟,涉及到VPN/Security的问题,所以真的 请原谅我在描述问题时犯的任何错误, 希望我能说清楚。

我们的承包商将 AVIATRIX-OKTA VPN 更改为 AWS-VPN with OKTA 身份验证,他们作为 .ovpn 文件发送,适用于 Windows/MAC 使用 AWS-Vpn-Client 应用软件,但是 我们中的一些人使用 Linux 个盒子(特别是 Ubuntu)运行 AWS 中描述的方法是:openvn config-file.ovpn, 它不起作用。

它只是要求 usr/pwd 然后它失败并出现身份验证错误(我们使用我们的 OKTA 凭据) , 似乎没有配置去 OKTA,打开浏览器或任何它需要做的事情。

顺便说一句,我们可以使用 OKTA 轻松连接到我们的 k8s 集群 客户端库,不知道有没有用,以防万一

.ovpn 文件如下所示

client
dev tun
proto tcp
remote random.cvpn-endpoint-xxxxxx.yyy.clientvpn.us-west-2.amazonaws.com 443
remote-random-hostname
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
verb 5
<ca>
....
....
....
</ca>

auth-user-pass
auth-federate
auth-retry interact
auth-nocache
reneg-sec 0
         

值得注意的一件有趣的事是 openvpn 抱怨 auth-federate 似乎不认识它,所以我开始使用 gnome network-manager 似乎 接受此配置,但也出现 Auth 错误。

在此之后我尝试了 openvpn3 并没有抱怨配置, 但仍然出现相同的错误。

我也试过将 TOPT 令牌添加到密码,同样的问题

非常欢迎任何关于如何配置它的帮助,或者只是知道它是否可行 , 似乎网上关于这方面的信息很少 我们真的坚持这一点,我们不愿意改变 OS 或机器,因为他们 要求或使用 VM 只是为了连接。

提前致谢,

终于得到AWS人的答复:

If the Client VPN endpoint is configured using SAML-based authentication (such as Okta), then you have to use the AWS-provided client to connect:

https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html#saml-requirements

并承诺更新 del 客户端文档并发出警告 这个。

我们尝试了以下URL中提到的解决方案,它对我们有效:

https://github.com/samm-git/aws-vpn-client/blob/master/aws-connect.sh

此解决方案的详细工作在 :https://github.com/samm-git/aws-vpn-client/blob/master/aws-connect.sh.

中进行了解释

我们对配置文件进行了少量更改以使其正常工作。

  1. 删除了 vpn.conf.

    中的以下行
    • auth-user-pass
    • auth-federate
  2. 在脚本中的第 38 行进行了以下更改 aws-connect.sh.

    open "$URL"
    

 xdg-open "$URL"