从 Linux 到 Windows

我在一台 Windows 机器上运行一个腻子客户端来成功地连接到一个 Linux 机器。现在,我希望能够在本地计算机上将路径 /home/ubuntu/myfile下的文件从 Linux 机器复制到 C:/Users/Anshul/Desktop。Windows 机器上的用户是 anshul。我对油灰下达了以下命令,但它不起作用:

scp /home/ubuntu/myfile ip_address_of_windows_machine:C:/Users/Anshul/Desktop

我认为 Windows 机器的路径是错误的。请帮助,因为我已经撞了我的头在大量的论坛,但似乎没有给出正确的路径为 Windows 服务器。不要建议像 WinScp这样的替代方案

595562 次浏览

Windows 本身不支持 SSH/SCP/SFTP。您是否在该 Windows 服务器上运行 SSH 服务器应用程序?如果是这样,其中一个配置选项可能就是根目录所在的位置,您可以指定相对于该根目录的路径。无论如何,请检查在 Windows 中运行的 SSH 服务器应用程序的文档。

或者,使用 smbclient将文件推送到 Windows 共享。

如果你想复制粘贴文件从 Unix 到 Windows 和 Windows 到 Unix 只需使用文件夹与端口22。

试试这个:

scp /home/ubuntu/myfile C:\users\Anshul\Desktop

试试这个,真的管用。

$ scp username@from_host_ip:/home/ubuntu/myfile /cygdrive/c/Users/Anshul/Desktop

以及复制所有文件

$ scp -r username@from_host_ip:/home/ubuntu/ *. * /cygdrive/c/Users/Anshul/Desktop

您可以使用以下内容

scp -r linux_username@linux_address:path/to/file path/to/local/directory

This will copy file to the specified local directory on the system you are currently working on.

如果远程 file是一个目录,那么 -r标志告诉 scp递归复制。

下面是通过 ssh 使用不带密码的 SCP 将文件从 Linux 复制到 Windows 的解决方案:

  1. Install sshpass in Linux machine to skip password prompt

  2. 剧本

    sshpass -p 'xxxxxxx' scp /home/user1/*.* testuser@x.x.x.x:/d/test/

详情:

sshpass -p 'password' scp /source_path/*.* windowsusername@windowsMachine_ip:/destination_drive/subfolder/

腻子下载页面下载 pscp,然后从 Windows 命令行 CMD使用它,如下所示:

pscp username_linux_machine@ip_of_linux_machine:/home/ubuntu/myfile.ext C:\Users\Name\Downloads

一旦输入 Linux 机器的密码,复制就开始了。

我知道这很古老,但我一直在为同样的事情挣扎。我还没有找到更改目录的方法,但是如果你只想使用 C 盘,scp 默认为 C。为了从 Ubuntu 到 Windows,我最终不得不使用(注意两个反斜杠) :

Scp/local/file/path user@111.11.111: Users Anshul Desktop

Hope this helps someone.

对于那些已经使用“ GiT Bash”完全安装了 GIT 的人来说:

scp login@ip_addres:/location/to/folders/file.tar .

(末尾有空格和 DOT,可以复制到当前位置)。只需要添加证书(y) ,输入密码就可以了。

这招对我很管用。

scp /home/ubuntu/myfile username@IP_of_windows_machine:/C:/Users/Anshul/Desktop

I had to use pscp like above Hesham's post once I downloaded and installed putty. I did it to Windows from Linux on Windows so I entered the following:

c:\ssl>pscp username@linuxserver:keenan/ssl/* .

这将把 keenan/ssl 文件夹中的所有内容复制到本地文件夹(.)从(c: ssl)执行此命令。Keenan/ssl 将指定用户名用户的主文件夹,例如,完整路径为/home/username/keenan/ssl。可以使用正斜杠(/)指定不同的文件夹,如

c:\ssl>pscp username@linuxserver:/home/username/keenan/ssl/* .

因此,您可以使用 :/指定 Linux 根目录下的任何文件夹。

通过 Git Bash 控制台从 Windows 访问(也适用于 CMD 和 PowerShell) :

scp user@ip:/dir1/dir2/file "D:\dir1\dir2"

您的代码无法工作,因为 c:/或 d:/对于 Linux 只需使用/mnt/c 或/mnt/c来说是完全错误的

在你的本地 Windows10-ubuntu bash 中使用以下命令:

下载: (从远程服务器文件夹到 d:/ubuntu) :

scp username@ipaddress:/folder/file.txt /mnt/d/ubuntu

然后键入您的远程服务器密码,如果有需要。

上载: (从 d:/ubuntu 到远程服务器) :

scp /mnt/d/ubuntu/file.txt username@ipaddress:/folder/file.txt

Then type your remote server password if there is need. note: I tested and it worked.

将文件从 windows 发送到 linux 系统

Scp path-to-file user@ipaddress:/path-to-target

例如:

scp C:/Users/adarsh/Desktop/Document.txt root@127.0.0.1:/tmp

请记住,对于 Windows 路径中的文件,需要使用正斜杠(/)代替反斜杠() ,否则将显示错误

C: UsersadarshDesktopDocument.txt: 没有这样的文件或目录

. 在执行 scp 命令之后,您将要求使用 password of root user in linux machine。 这就对了。

将文件从 Linux 发送到 Windows 系统

scp -r user@ipaddress:/path-to-file path-to-destination

例如:

scp -r root@127.0.0.1:/tmp/Document.txt C:/Users/adarsh/Desktop/

并提供你的 linux 密码。 only one you have to add in this command is R. 谢谢。

打开 bash 窗口。 写作

Scp username@remote _ ip:/directory _ of _ file/filename‘ windows _ location _ you _ want _ to _ store _ the _ file’

例如:

假设您的用户名是 珠宝

你的 IP 地址是 176.35.96.32

您的远程文件位置是 /usr/local/forme

你的文件名是 Logs.zip

你想存储在你的 < strong > windows PC 的 D 驱动器表单文件夹中 那么命令就是

Scp Jewel@176.35.96.32:/usr/local/forme/logs.zip‘ D:/forme’

* * 将本地文件目录保存在单引号内。

就像@Hesham Eraqi 建议的那样,它以这种方式为我工作(从 Ubuntu 转移到 Windows (我试图在这个答案中添加一个评论,但是由于名声,我不能) :

pscp -v -r -P 53670 user@xxx.xxx.xxx.xxx:/data/genetic_map/sample/P2_283/* \\Desktop-mojbd3n\d\cc_01-1940_data\

地点:

显示冗长的消息。
-r: 递归地复制目录。
-P: connect to specified port.
53670: 连接 Ubuntu 服务器的端口号。
\\Desktop-mojbd3n\d\genetic_map_data\: 我需要转移到一个外部硬盘驱动器,因此我必须给予权限共享到这个设备。