通过scp(从Linux)将文件从Windows复制到Linux

5

我目前使用scp在Linux系统之间复制文件。

scp username@hostname:/tmp/test.file .

这个命令可以将远程服务器上的文件复制到本地计算机。

我想做的是使用同样的 scp 命令,但是从 Windows 目标复制文件到本地 Linux 计算机。如何实现呢?


阅读此内容以了解WinSCP脚本编写:https://winscp.net/eng/docs/commandline - patrickmdnet
PSCP示例:http://superuser.com/questions/532919/how-to-use-pscp-to-copy-file-from-unix-machine-to-windows-machine-where-target-p - patrickmdnet
Patrick,我只能从Linux机器(共享文件夹)连接到Windows,我无法在那台机器上安装任何东西。 - sathishkumar
鉴于下面的评论和答案中存在许多错误的开始,请学会第一次撰写更完整的问题说明;-)。不要假设读者事先了解您的限制。例如,“我无法在那台机器上安装任何东西”。(即使这是模棱两可的,您是指Linux机器还是Windows机器(现在我们知道了,是Windows),请明确说明)。祝您解决问题好运。 - shellter
感谢您的指导,我会改进我的问题。 - sathishkumar
2个回答

6

您可以使用winscp提供的命令在命令行上执行此操作。

winscp命令行

此语法与Linux scp命令非常接近,但带有类似于Windows的标志。

您可以在以下路径找到winscp.exe可执行文件:

C:\Program Files (x86)\WinSCP\winscp.exe

编辑01:

如果您想在Linux机器上使用scp从Windows机器复制文件,则需要在Windows机器上运行ssh服务器。

FreeSSHd

OpenSSH

编辑02:

如果您无法在Windows机器上安装ssh服务器,可以使用samba fs mount将Windows上导出的目录挂载到Linux上。

samba fs mount


好的,我明白了,那么我需要在Windows上安装什么来实现这个? - sathishkumar
你需要在 Windows 电脑上运行一个 SSH 服务器。我编辑了答案以添加这个内容。 - Ziffusion
使用samba fs mount的另一个选项所编辑的答案。 - Ziffusion
非常感谢ziffusion提供更多选项,我正在尝试。 - sathishkumar

1

最终找到了解决方案

下载了pscp并使用命令行选项,然后安排了一个任务

c:\pscp.exe -q -batch -l mramkumar -pw xxxxx "c:\alm_testlink.png" mgr.sjc:/home/mramkumar 

创建一个.bat文件并将其安排为作业, 这将使所有文件在文件夹中持续推送到我的Linux服务器,而无需提示任何密码。

首先需要使用PuttyGen为Windows生成ssh密钥,并将其放入远程Linux的authorized_keys中。然后执行pscp.exe -i .\ssh\id_rsa .\Temp.py username@10.138.0.6:/home/username/命令。 - gihanchanuka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接