使用 Chrome 远程桌面,我可以在计算机之间传输文件吗?

使用 Chrome 远程桌面,我可以在计算机之间传输文件吗?

有没有办法使用 Google Chrome 远程桌面插件在远程连接的计算机之间传输文件?

如果没有,有没有一种简单的方法可以在连接的计算机之间传输文件?

答案1

是的,你可以。截至最近(本周?本月?还是今天刚刚?[这是我第一次看到它]),Chrome 远程桌面已从通过 Chrome 商店下载和启动的独立程序转变为从网站启动的浏览器内应用:https://remotedesktop.google.com

[2019 年 6 月 27 日测试]

此次更改带来了全新的文件传输功能!登录后,屏幕右侧会出现此菜单:

在此处输入图片描述

如果您没有看到,请将鼠标悬停在右侧,直到看到指向左侧的小蓝色箭头,然后单击它,因为此菜单是可隐藏的。

1.从远程下载到本地:

将文件从远程机器下载到本地机器(主机)单击“下载文件”按钮。它将在远程计算机上打开“下载文件”文件管理器窗口。选择一个文件并单击“打开”。文件通过网络传输,GUI 文件管理器“保存文件”窗口将神奇地在您的本地(主机)计算机上打开。选择一个位置并保存文件。

完成。文件位于您本地计算机上您选择保存它的文件夹中。

2. 从本地上传到远程:

将文件从本地(主机)计算机上传到远程计算机,点击“上传文件”按钮。它将在本地计算机上打开“打开文件”文件管理器窗口。选择一个文件(错误警告:即使文件已被选中,您也必须用鼠标再次单击该文件,否则这对我来说不起作用) 并点击“打开”。在上面显示的“文件传输”对话框下,您将看到一个“正在上传”指示器和文件传输进度条。完成后,您将在远程桌面屏幕底部看到以下通知:“上传完成。在远程设备的桌面上查找文件。”

在此处输入图片描述

完成。该文件位于远程计算机的桌面上。

答案2

这是一个玩笑式的回答,但由于目标和主机之间支持复制和粘贴,因此复制文件的古怪方式没有采取中间云存储的做法是:

  1. 在源上:使用任何可用的编码器将文件转换为 Base64/UUEncode,以便您可以使用 Ctr+C 复制数据。
  2. 在目标上:将数据粘贴到文本文件中并使用任何可用的解码器对其进行解码。

基于 Python 的解决方案

首先,在源机器上启动 Python 控制台并输入:

 base64data = open('myfile.jpg','rb').read().encode('base64')
 open('myfile.txt','w').write(base64data)

接下来,使用文本编辑器打开文件myfile.txt并复制内容。然后在目标机器上将内容粘贴到名为的新文件中myfile.txt,并在控制台中输入:

data = open('myfile.txt').read().decode('base64')
open('myfile.jpg','wb').write(data)

这些片段可以提取到脚本中,以避免每次都输入。

基于 GUI 的解决方案(Windows)

如果你没有 Python,或者你的两台机器都运行 Windows,并且你有总指挥官安装的话步骤就比较简单了:

  1. 在源上:选择您的文件,然后选择文件>编码文件.b64将在另一个面板中创建相应的内容 - 打开它(F3)并复制内容(Ctr+ aCtr+ c)。

  2. 在目标上:粘贴到带有.b64扩展名的新文件中,然后使用文件>解码文件

另一个替代应用程序是记事本++使用内置的 mimetools 插件进行 base64 编码/解码(插件 -> Mime 工具 > 64 编码/解码)。

命令行解决方案(OSX、Linux、Windows)

OSX 和大多数 Linux 系统通常带有多种控制台 base64 编码器。这应该可以在 ootb 中工作而无需安装任何东西:

## encode to base64
openssl base64 -in myfile.jpg -output myfile.jpg.b64
## OR on some systems `-out` should be used instead of `-output`
openssl base64 -in myfile.jpg -out myfile.jpg.b64

## encode to base64 on Windows (recent versions)
certutil -encode myfile.jpg myencodedfile.jpg.b64

## decode from base64
openssl base64 -d -in myfile.jpg.b64 -output myfile.jpg
## OR on some systems `-out` should be used instead of `-output`
openssl base64 -d -in myfile.jpg.b64 -out myfile.jpg

## decode base64 on Windows
certutil -decode myencodedfile.jpg.b64 myfile.jpg

省略该-output...部分将会打印到标准输出。

OSX 和 Ubuntu 中都存在的另一个 ootb 实用程序:

## encode to base64
base64 < myfile.jpg > myfile.jpg.b64


## decode from base64 (Linux) (note the lowercase 'd')
base64 -d < myfile.jpg.b64 > myfile.jpg

## decode from base64 (OSX) (note the uppercase 'D')
base64 -D < myfile.jpg.b64 > myfile.jpg

直接传输到剪贴板(避免中间文件)

如果源/目标操作系统上有相应的命令行工具,则可以直接编码到剪贴板。

在 OSX 上有内置的pbcopypbpaste在 Linux 上(在 xorg 中),有剪辑,在 Windows 上有剪辑程序,这意味着将文件编码到剪贴板可以简化为(例如对于 OSX):

base64 < myfile.jpg | pbcopy

正确的方法...

现在玩笑归玩笑。如果你需要在两台机器之间传输文件(无论你使用什么连接),那么使用 SSH 就可以提供scp。如果其中一个或两个盒子位于防火墙/路由器后面,则使用跳转服务器(即互联网暴露的服务器,可能是虚拟专用服务器)。您需要从目标框到跳转服务器建立始终在线的链接,配置端口转发,然后通过跳转服务器上的转发端口使用 SCP。在 A->B->C 跳转场景中,您需要在A并在两者上运行 SSH 服务器C

一旦你有了传出连接,并且转发端口从盒子配置C (如果你以前没有这样做过,这可能会很棘手)你可以通过 SSH 从盒子连接A文件中定义的配置文件~/.ssh/config类似于:

Host jump
    Hostname hostname_C
    User username_C
    Port portnumber_C
    ProxyJump username_B@hostname_B:portnumber_B

完成所有设置后,您可以轻松复制文件/文件夹:

scp -r /some/local/dir jump:remote_dir

或从远程到本地:

scp -r jump:remote_dir/subdir /my/local/machine/path

remote_dir将相对于用户的家。

注意:这并不涵盖所有步骤,因为这超出了原始问题的范围,但您可以使用例如 Chrome 远程桌面来建立从您的盒子 C 到盒子 B(跳转服务器)的 SSH 链接,然后从盒子 A“透明地”通过 B 连接到 C。


最后,如果您想要一个更好的文本模式 GUI,scp那么可以考虑使用 Midnight Commander -mcapt install mc)您可以连接例如左边->外壳链接:在目标框中输入您的用户@IP或者您配置的别名,如上~/.ssh/config例所示jump

使用 Midnight Commander 通过 SSH 传输文件:

使用 Midnight Commander 通过 SSH 传输文件

答案3

是的。Gabriel Staples 的这个回答回答了这个问题https://superuser.com/a/1453775/146314并且接受的答案应该改为这样。现在可以通过 Chrome 远程桌面传输文件。

有关 Chrome RDP 的详细信息

这无法完成。作为一种解决方法,您可以随时通过电子邮件将其发送给自己,或者使用 Google Drive/Drop Box 或类似工具。

答案4

要传输文件,只需使用您的 Google Drive。您必须登录 Google 帐户才能使用 Chrome 远程桌面,因此只需打开 Google Drive,将文件放入其中即可。上传后,在远程计算机上打开 Google Drive,并将其从 Google Drive 拉出到您选择的桌面或文件夹!

相关内容