Remmina 的 VPN 预命令脚本

Remmina 的 VPN 预命令脚本

我正在尝试找到一种方法,在 Remmina 中打开我的 RDP 会话之前启动 VPN 预命令脚本。我只能通过终端连接到我的 PPP vpn,但无法弄清楚如何通过桌面使其工作。这让我很头疼。我尝试了以下方法:

gnome-terminal -e 'bash -lc "pon vpn ;bash"'

" #!/bin/bash pppd call vpn "

ssh -t user@server "sudo pon vpn && exit"

我已将上述内容设置为可执行脚本,就像我说的那样,可以通过终端执行,甚至只需运行命令 pon vpn 或 pppd call vpn 即可执行。

有人完成过这个吗?为什么我在网上找不到任何相关信息?肯定还有其他人先连接到 VPN,然后连接到 RDP。我能够使用 Windows 中的 mRemoteNG 以及前后批处理脚本完成很多此类工作。我只想用 Linux 弄清楚(我使用的是 ubuntu)。

任何帮助将不胜感激。

答案1

我设法解决了这个问题。如果有人想做同样的事情,这里是如何让它发挥作用的。

首先安装 SSH pass。这允许你将密码传递给远程 SSH 会话

在终端中输入以下内容:

apt-get install sshpass

本指南将引导您通过终端设置 PPTP 连接。

设置 VPN 客户端连接后,您需要创建一个 Remmina 预命令脚本。此脚本将在通过 RDP 或 SSH 连接到远程服务器之前建立 VPN 连接。

创建脚本,/usr/local/bin使所有用户都可以访问。使脚本可执行。

脚本名称示例:VPNConnect.sh

> #! /bin/bash
> 
> echo 'Connecting to VPN...'
> 
> sshpass -p "Password" ssh -o StrictHostKeyChecking=no user@server
> 'sudo killall pppd; sudo pppd call vpn; sleep 5 && exit'

此脚本本质上是通过 SSH 进入远程 shell 并启动 VPN 连接。我无法通过其他方式让它工作。脚本的最后一部分是告诉它休眠或等待 5 秒钟。这部分很重要,如果您不将其放在那里,Remmina 会在 VPN 建立之前过快地运行预命令脚本,您将无法通过 RDP 进入。

后命令脚本只是断开与 VPN 连接。

脚本名称示例:VPNDisconnect.sh

> #! /bin/bash
> 
> echo 'Disconnecting from VPN...'
> 
> sshpass -p "Password" ssh -o StrictHostKeyChecking=no user@server
> "sudo killall pppd && exit"

Remmina 允许您运行前置和后置命令脚本,这真是太棒了。只是在网上很难找到有关任何示例的文档。

相关内容