首页 > 解决方案 > 无法使用 windows 子系统将本地文件 wsl ubuntu 终端传输到远程服务器

问题描述

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

现在,我想将这个名为 .zip 的 zip 文件传输test1.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

所以我尝试了以下[用lauda它的IP替换本地笔记本电脑的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 屏幕] 中尝试的

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

标签: linuxubuntusshwindows-subsystem-for-linuxscp

解决方案


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

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

其次,该/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/

推荐阅读