Укажите имя пользователя и пароль для VPN-подключения

У меня открытая сеть VPN, и я хотел бы всегда иметь подключение, даже до того, как войду в свою учетную запись.

У меня Ubuntu 16.04.2, network-manager-openconnect-gnome,

Если я запускаю командную строку nmcli con up id <VPN connection name> он будет работать, однако он запрашивает имя пользователя во всплывающем окне, даже если он помнит мое имя пользователя в видимом тексте; затем он запрашивает пароль, даже он запоминает его (с маркерами), поэтому я не могу использовать nmcli непосредственно, чтобы выполнить то, что я хочу.

Конечно, я до сих пор не знаю, как сделать его полностью безголовым (я имею в виду запустить его до входа в Ubuntu), но это следующий вопрос после того, как я смогу создать что-то для подключения к openconnect VPN, не спрашивая у меня имя пользователя и пароль.

1 ответ

Хорошо, после проб и ошибок я не нахожу прямого решения, но есть обходной путь, который можно использовать для достижения этой цели.

В основном я пишу сценарий ожидания для отправки имени пользователя и пароля в nmcli. Конкретно это

  1. sudo apt-get install expect, это установит ожидаемый пакет
  2. создать файл, назвать его connectvpn.sh

    #!/usr/bin/expect -f
    
    spawn nmcli -a con up id <VPN ID>
    expect "Username:"
    send "<username>\r"
    expect "Password:"
    send "<password>\r"
    expect "$ "
    
  3. chmod a+x connectvpn.sh

  4. Теперь запустите его, и он будет работать

Конечно, недостатком является то, что имя пользователя и пароль будут сохранены в тексте в виде простого текста, но это лучшее решение, которое я могу найти.

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