无法使用 windows 子系统将本地文件 wsl ubuntu 终端传输到远程服务器

Unable to transfer local file wsl ubuntu terminal to remote server using windows subsystem

我在本地笔记本电脑的 /mnt/c/Users/test/ 文件夹中有一个名为 test1.zip 的文件 [其中安装了 linux 的 ubuntu windows 子系统]。本地 ubuntu 终端 WSL 名称是 lauda

现在,我想将这个名为 test1.zip 的 zip 文件传输到我名为 stuff 的远程服务器。

请注意,所有命令都是从我的本地笔记本电脑 WSL 屏幕 [ubuntu 屏幕]

中尝试的

所以,我从我的 WSL [本地笔记本电脑 ubuntu WSL 终端]

尝试了以下命令
scp user1@lauda:/mnt/c/Users/test/test1.zip user1@stuff:/home/test/codes/test1

并得到错误 ssh: Could not resolve hostname lauda: Name or service not known

所以我尝试了下面的方法[用 IP 替换 lauda 本地笔记本电脑 ubuntu 终端主机名]

scp user1@172.xx.xxx.xxx:/mnt/c/Users/test/test1.zip user1@stuff:/home/test/codes/test1

这导致错误 ssh: connect to host 172.xx.xxx.xxx port 22: Connection refused

现在我尝试了与上面相同的命令,但采用相反的方式,如下所示

scp user1@stuff:/home/test/codes/ user1@lauda:/mnt/c/Users/test/test1.zip

并得到以下错误

ssh: Could not resolve hostname lauda: Temporary failure in name resolution

后来,我尝试使用IP地址

 scp user1@stuff:/home/test/codes/ user1@172.xx.xxx.xxx:/mnt/c/Users/test/test1.zip

我得到以下错误

ssh: connect to host 172.xx.xxx.xxx port 22: No route to host lost connection

后来,我也尝试了下面的命令

scp /mnt/c/Users/test/test1.zip user1@stuff:/home/test/codes/

出现错误 scp: /home/test/codes/test1.zip: Permission denied

所以,我再次尝试如下

scp user1@stuff:/home/test/codes/ /mnt/c/Users/test/test1.zip 

出现错误 scp: /home/test/codes: not a regular file

请注意,所有命令都是从我的本地笔记本电脑 WSL 屏幕 [ubuntu 屏幕]

中尝试的

如何将本地 files/folders 从本地 ubuntu WSL 终端传输到远程服务器?

scp /mnt/c/Users/test/test1.zip user1@stuff:/home/test/codes/ 是最接近工作的尝试。您收到的错误可能是由于以下两个原因之一造成的:

首先,user1 没有在 stuff 上写入 /home/test 的权限 - 这是有道理的,因为通常只有 test 用户才能在那里写入。 (请注意,您 WSL 实例上的 test 用户与远程 test 用户的配置文件不同。)

其次,/home/test/codes/ 文件夹可能还不存在。

相反(如果您知道 test 的密码)作为 test 用户复制:

scp /mnt/c/Users/test/test1.zip test@stuff:/home/test/codes/

或复制到 user1 的主目录(确保您已创建 /home/user1/codes/

scp /mnt/c/Users/test/test1.zip user1@stuff:/home/user1/codes/