返回博客首页

如何使用AnyDesk的TCP通道访问远程文件

TCP通道存取远端文件

使用 AnyDesk TCP 远程挂载文件夹到本地设备

对于软件开发人员来说,远程工作可能是一个挑战。 能够访问在其他设备中的源代码通常可以使工作变得更快、更舒适。 使用 AnyDesk,您可以设置 TCP 通道连接,在本地访问远程设备上的文件,而无需将它们下载到本地电脑上。

在本文中,我将向您展示如何使用 TCP 通道和 AnyDesk for Linux 在本地设备中挂载远程文件夹 。 此解决方案比传统的远程桌面访问更节省 CPU 和流量。 而此功能亦同样适用于AnyDesk for Window及 MacOS。

使用 SSH 设置直接通道连接

与任何其他 TCP 连接一样,只有在于本地设备上看见远程主机的时候,才可以使用SSH。 这些情况包括远程主机与本地设备位于同一本地网络;或是具有外部 IP 地址。 可是,当你希望从家里连接到办公室 PC 时,情况通常并非如此。

但是,使用 AnyDesk,您可以连接到任何电脑,而无需考虑任何防火墙或 NATs。 使用 AnyDesk 的 TCP 通道功能,您可以设置到远程电脑的通道并使用 SSH,就好像让两台电脑身处同一个网络中一样。 你可以从通讯录的AnyDesk 客户端的上下文菜单中打开 TCP 通道设置:

最近会话中的菜单

在会话中,您将看到正向通道和反向通道的设置。 而基于今次示范的用途,我们选择了正向通道。 要转发 SSH 端口,我们需要在设置窗口中添加一条规则:

TCP 通道设置

在上面的示例中,我们将远程设备的 TCP 端口 22(SSH 使用的远程端口)转发到本地端口 2222。 确切的端口号无关紧要,而我们则选择了以 2222 为例。

一旦您连接到相应的 AnyDesk ID,该通道就会被激活。 连接类型无关紧要,而通道将在一般及文件传输模式下工作。 我使用了文件传输模式来节省流量和 CPU 时间。

测试 SSH 连接

现在,在您创建通道规则并连接到远程设备之后,是时候测试 SSH 连接了。 在终端中运行以下命令:

ssh -p 2222 <username>@localhost

将 <username> 替换为您办公室 PC 上的用户名。 如果您已正确完成所有操作,您将被要求在远程电脑上输入密码。 检查访问权限后,您可以关闭远程外壳,因为你不再需要使用它。

下一步是将本地 SSH 密钥复制到办公室的电脑,这样办公室电脑将允许您无需密码即可访问。 如果您尚未生成你的 SSH 密钥,请使用以下命令生成:

ssh-keygen

现在将密钥复制到远程设备:

ssh-copy-id -p 2222 <username>@localhost

完成此步骤后,您应该能够在没有密码的情况下连接到 SSH。

准备访问远程文件夹

初始设置完成后,让我们设置工作环境。 这里的技巧是使用 SSHFS 在本地挂载远程文件夹。 如果你没有安装 SSHFS,你可以通过 DEB -based的分发系统,简单地通过 apt 完成:

sudo apt install sshfs

现在你可以在本地设备创建一个您希望安装远程文件夹的文件夹。 我建议两个文件夹具有完全相同的路径。 在此示例中,假设您的工作文件夹是:

/home/johndoe/work

现在让我们在本地设备中挂载它:

sshfs -p 2222 johndoe@localhost:/home/johndoe/work /home/johndoe/work

如果一切设置正确,您的本地设备将已经载有你的远程文件。 不要忘记您需要一个活跃的 AnyDesk 连接才能使 TCP 通道保持运作。 关闭 AnyDesk 连接后,该文件夹也将立即卸载。

自动化命令

到目前为止,我们必须手动执行命令才能访问远程数据。 而事实上,AnyDesk 允许您自动执行此过程。 和以前一样,从上下文菜单中打开 TCP 通道设置。 在对话框的最底部,您将看到复选框:Run a custom script。 设置一个复选标记,每次建立 TCP 通道时,你所设定的程序脚本将在本地执行。 让我们创建自定义程序脚本来自动挂载我们的工作文件夹。

TCP 通道程序脚本设置

现在单击保存并连接。 该文件夹应在您连接后自动挂载,并在断开连接时卸载。 您也可以好好的使用你最喜欢的 IDE 或文本编辑器编辑挂载文件夹中的文件。

自动化功能还有更多的用途。 例如,您可以在程序脚本中添加一行以自动打开远程外壳。 我使用 Terminator 作为我最常用的终端仿真器。 在那里您可以创建一个自定义配置文件,在启动时打开远程外壳:

Terminator终端模拟器

只需将以下命令添加到程序脚本中,您就可以在连接后立即准备好远程外壳:

terminator -p remote

访问内部网络资源

有时候我们需要访问一些只能在办公室内使用的内部网络资源,例如问题跟踪器等。 你可以通过 SSH 可以轻松设置一个 SOCKS5 网络代理:

ssh -D 7000 -N -p 2222 johndoe@localhost

这个代理将在 localhost 的端口 7000 上保持活跃状态。 如果你将此行添加到 AnyDesk TCP 隧道程序脚本,系统将会为你自动设置这个代理。 要使用它,我建议你可以使用名为 FoxyProxy 的扩展浏览器,根据 URL 模式进行自定义代理设置。

结论

作为经典远程桌面访问的其中一个选项,AnyDesk for Linux 能够为你提供更好的工作体验:通过 SSHFS 挂载远程文件夹,使用本地设备访问远程文件。 这大大地促进了远程工作,尤其是当您需要在本地设备上处理远程文件或源代码时。

AnyDesk for Linux 易于使用,亦可与任何操作系统建立持续稳定的连接。 我们的远程桌面软件适用于大量 Linux 发行版,包括 Ubuntu、Red Hat 和 openSUSE。 无论您拥有何种类型的许可证,你也能够享受各种免费的服务更新。

有兴趣开始使用 AnyDesk for Linux ? 立即选择您的 Linux 发行版,并按照软件软件包管理系统进行快速轻松的安装

订阅我们的邮件推送