AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1043024
Accepted
Benyamin Jafari
Benyamin Jafari
Asked: 2018-06-03 11:43:54 +0800 CST2018-06-03 11:43:54 +0800 CST 2018-06-03 11:43:54 +0800 CST

如何在终端的一行中使用用户名和密码运行 openconnect?

  • 772

我openconnect终端在 Ubuntu 16.04 中使用,当我想运行它时,我需要进入三个阶段:

  • “是/否”
  • “用户名”
  • “密码”

如何openconnect在一行中使用(例如使用openconnect选项)绕过上述阶段?
是否有任何选项,例如以下行?

sudo openconnect <server-name> --user=<'username'> --pass=<'password'>

我使用openconnect --help并找到了一种填写用户名的方法,但我不知道填写密码和 SSL 验证。

command-line konsole 16.04 18.04 openconnect
  • 7 7 个回答
  • 56823 Views

7 个回答

  • Voted
  1. Best Answer
    vidarlo
    2018-06-03T12:39:31+08:002018-06-03T12:39:31+08:00

    如果您man openconnect在终端中输入,您将获得一个描述用法的手册页。

    相关部分:

    -u,--user=NAME
    设置登录用户名为 NAME

    --passwd-on-stdin
    从标准输入读取密码

    此外,您可能需要禁用证书警告:

    --no-cert-check
    不要求服务器 SSL 证书有效。检查仍会发生,失败将导致警告消息,但连接仍将继续。您不需要使用此选项 - 如果您的服务器具有未由受信任的证书颁发机构签名的 SSL 证书,您仍然可以将它们(或您的私有 CA)添加到本地文件并使用 --cafile 选项使用该文件.

    或者您可以将证书添加到文件中。

    所有这些都可以结合起来:

    echo "password" | sudo openconnect server --user=username --passwd-on-stdin --no-cert-check
    
    • 44
  2. arbuzov
    2019-10-28T07:02:09+08:002019-10-28T07:02:09+08:00

    这对我有用:

    echo mypassword | openconnect --protocol=anyconnect --user=myusername --passwd-on-stdin 
    
    • 3
  3. Amin Shojaei
    2020-05-30T20:24:02+08:002020-05-30T20:24:02+08:00

    要跳过证书检查,该--no-cert-check参数已在新版本中删除。你可以--servercert改用。

    --servercert sha256:sdflkdsjflsdjkfds

    • 3
  4. dux2
    2020-11-20T00:03:40+08:002020-11-20T00:03:40+08:00

    我能够使用以下命令(在 mac 上测试)自动执行 sudo 密码、VPN 用户、VPN 密码和辅助质询:

    challange=<code> && sudo -S <<< "<sudo_password>" echo I am super user && { printf '<vpn_password>\n'; sleep 1; printf "$challange\n"; } | sudo openconnect <server_name> --user <vpn_username> --passwd-on-stdin
    
    • 3
  5. SdSaati
    2021-08-23T16:07:17+08:002021-08-23T16:07:17+08:00

    当我阅读解决方案时,最后这是为我工作的脚本:

    echo "PASSWORD" | sudo openconnect --protocol=anyconnect SERVER --user=USERNAME --passwd-on-stdin --servercert SERVERCERT
    

    当您在没有 SERVERCERT 的情况下运行上述命令时(因为您没有它),它会给您一个错误,其中包含 SERVERCERT,类似于: Server SSL certificate didn't match: pin-sha256:76v/J0dQR44xdeBCxKUq/Slvtikc+0xTyRdjaZk/5fA= 就是这样,字符串以 pin-sha256 开头:...(全部,包括 pin-sha256 本身)是您的 SERVERCERT

    所以?例如,这种情况下的最终结果是:

    echo "PASSWORD" | sudo openconnect --protocol=anyconnect SERVER --user=USERNAME --passwd-on-stdin --servercert pin-sha256:76v/J0dQR44xdeBCxKUq/Slvtikc+0xTyRdjaZk/5fA=
    
    • 2
  6. Sorin-Doru Ipate
    2021-05-11T22:51:25+08:002021-05-11T22:51:25+08:00

    你可以试试这个非常容易使用的 shell 脚本:https ://github.com/sorinipate/vpn-up-for-openconnect

    从项目的描述:

    vpn-up-for-openconnect

    用于 OpenConnect 的 VPN 升级

    特征

    一个用于 openconnect 的 shell 脚本,它允许:

    • 定义多个 VPN 连接
    • 在不输入用户名和密码的情况下运行 openconnect。

    示例配置部分

    #Company VPN
    export COM_NAME="My Company VPN"
    export COM_HOST=vpn.mycompany.com
    export COM_AUTHGROUP=developers
    export COM_USER=sorin.ipate
    export COM_PASSWD="MyPassword"
    

    运行 VPN

    % alias vpn-up='~/bin/vpn-up.command'
    % vpn-up
    
    • 0
  7. Bhagvat Lande
    2021-06-10T22:41:00+08:002021-06-10T22:41:00+08:00
    echo "YourPassword" | sudo openconnect vpn.yourserver.com --user=yourUseraname --passwd-on-stdin
    
    • 对我来说需要密码" "
    • 在最新版本--no-cert-check中,openconnect 不推荐使用命令参数(我的版本:OpenConnect 版本 v7.08-3ubuntu0.18.04.2)
    • 0

相关问题

  • 如何从命令行仅安装安全更新?关于如何管理更新的一些提示

  • 如何从命令行刻录双层 dvd iso

  • 如何从命令行判断机器是否需要重新启动?

  • 文件权限如何工作?文件权限用户和组

  • 如何在 Vim 中启用全彩支持?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve