从Windows使用SFTP传输文件

时间:2016-03-14 09:00:41

标签: windows batch-file ssh sftp putty

我需要使用SFTP协议将文件从基于Windows的服务器传输到我的Linux服务器。它们位于同一LAN网络中。

我在Linux服务器上启用了SFTP 使用:

sudo apt-get install openssh-server
sudo apt-get install ssh

我为我的SFTP服务器创建了一个组(我称之为sftponly)和一个用户(abc)。
我在Windows环境中使用PuTTY作为我的SSH客户端 在我的Windows中,我有一个位于c:/myfile/myfile.txt的文本文件,我想使用SFTP将此文件上传到我的Linux服务器

我的批处理文件代码如下:

start putty.exe -ssh 192.168.0.117:4747 -l admin-pw Password -m C:\\test\ssh.txt

ssh.txt的内容是:

sftp abc@192.168.0.117
put c:/myfile/myfile.txt

我确信put语法错误,因为我们在Windows环境中。我可以在ssh.txt文件中使用哪些正确的代码将myfile.txt上传到SFTP中?

abc用户拥有所有权限。

1 个答案:

答案 0 :(得分:1)

远程sftp进程无法访问Windows计算机上的本地文件。

(即使可能,您的脚本文件仍然是错误的,因为put将由shell执行[并且不被理解],而不是sftp。< / em>的

您必须使用本地SFTP客户端将文件上载到删除SFTP服务器。

PuTTY附带了模仿OpenSSH sftp客户端的psftp.exe SFTP client

psftp.exe abc@192.168.0.117 -b C:\test\ssh.txt

ssh.txt包含put命令的位置:

put c:\myfile\myfile.txt