我正在运行无头的Ubuntu 14.04.1服务器。我想使用商业VPN服务来保护服务器的Internet连接,而我的VPN提供商使用密码短语进行身份验证。我已经安装openvpn
在服务器上,它有必要的.ca
,.conf
文件发起对我的VPN连接。
但是,要启动上述连接,我需要ssh
输入并发出命令(sudo openvpn --config <conf-file>
后跟我的VPN凭据),然后在我希望服务器保持与VPN保持连接的状态下,保持我的终端处于打开状态。
在无头的环境中这是不切实际的。我一直在尝试远程发出命令,使其在与服务器断开连接时可以在后台运行,但是我面临以下问题:
ssh
命令root
(没有以方式连接到服务器root
,但是我不确定为设置密码root
是个好主意。意见?)。也就是说,如果我发送,ssh <user>@<server> "sudo <command>"
我会得到
sudo:不存在tty且未指定askpass程序
fN
我尝试传递给这些标志的任何组合都会ssh
导致该命令进入后台。nmcli
用来初始化我的VPN,但是如果 network-manager
没有GUI,我将无法创建 连接,或者至少我不知道该怎么做)。
(PS我尝试过在线查找解决方案,但是与建立到服务器的OpenVPN连接的处理有太多结果,如果其中隐藏着任何相关信息,我将找不到它。)
您可以登录服务器并启动一个屏幕(键入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
屏幕内向上滚动。如果关闭屏幕内的最后一个外壳,屏幕将终止。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句