Подключите бездисплейный сервер к OpenVPN

Я выполняю бездисплейный сервер Ubuntu 14.04.1. Я хотел бы использовать коммерческий сервис VPN для обеспечения интернет-соединения сервера, и мой поставщик VPN использует пароли для аутентификации. Я установил openvpn на сервере, и это имеет необходимое .ca, .conf файлы для инициирования соединения с моей VPN.

Однако для инициирования сказало соединение, я должен ssh в и дают команды (sudo openvpn --config <conf-file> сопровождаемый моими учетными данными VPN), затем сохраните мой терминал открытым столько, сколько я хочу, чтобы сервер остался подключенным к VPN.

Это непрактично на бездисплейной установке. Я пытался дать команду удаленно таким способом, которым она может работать в фоновом режиме, в то время как я разъединяюсь с сервера, но я сталкиваюсь со следующими проблемами:

  • Я мог установить сервер для соединения автоматически на запуске, но это потребует хранения моих учетных данных VPN в простом тексте, которого я против.
  • Я не могу выполнить сингл ssh команда как root (не соединяясь с сервером как root, но затем я не уверен установка пароля для root хорошая идея. Мнения?). Таким образом, если я отправляю ssh <user>@<server> "sudo <command>" Я добираюсь

    sudo: никакой подарок tty и никакая askpass программа не указаны

  • Любая комбинация fN флаги я пытаюсь передать ssh результаты в команде, идущей в фон, прежде чем меня попросят моих учетных данных VPN.
Предложите другой путь инициирования соединение, даже если Вы думаете, что эти идеи невыполнимы. Однако обратите внимание на то, что серверу не установили GUI, таким образом, любая идея, полагающаяся на это, является неподходящей (например, я хотел бы использовать nmcli для инициирования моей VPN но я не могу создать a network-manager соединение без GUI, или по крайней мере я не знаю как к).

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

1
задан 15 December 2014 в 04:53

2 ответа

Вы можете войти на сервер и запустить экран (введите screen. Если он не установлен, вы можете получить его с помощью apt-get install screen в Debian или Ubuntu или yum install screen в Fedora), который создает новый сеанс терминала, который может продолжать работать, даже если ваше ssh-соединение закрыто. Внутри экранной сессии запустите ваш OpenVPN. Вы можете отменить сеанс (выйти и позволить ему продолжать работу) с помощью ctrl-a d. Затем вы можете выйти из системы, и OpenVPN продолжит работу внутри экрана. Если вы снова войдете в систему, вы сможете снова подключиться к сеансу экрана, используя screen -x.

На внутреннем экране вы также можете начать новый сеанс с помощью ctrl-a c (создать) и переключаться между сеансами с помощью ctrl-a n (следующий) или ctrl-a p (предыдущий). Используйте man screen, чтобы узнать больше, или используйте Google;) Вы должны нажать ctrl-a esc на внутреннем экране, чтобы прокрутить вверх. Если вы закроете последнюю оболочку внутри экрана, экран закроется.

4
ответ дан 10 November 2019 в 08:43

экран является командой (используйте склонный - заставляют экран установки в debian или человечности или вкусный экран установки в мягкой фетровой шляпе получать его если не установленный-). Это создает новую сессию и поддерживает это в рабочем состоянии, даже когда Ваше соединение SSH закрывается. Можно снова соединиться экраном-x. В экране можно запустить, новая сессия ctrl-a c (создают). и переключите betweeb сессии ctrl-a n (затем) или ctrl-a p (предыдущий). используйте экран человека, чтобы узнать больше или использовать Google;) необходимо нажать ctrl-a esc insude экран для прокрутки. При закрытии последней оболочки в экране экран завершится.

0
ответ дан 10 November 2019 в 08:43

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

Похожие вопросы: