使用 SFTP 将文件从 Windows 传输到 Linux

Transfer file using SFTP from Windows to Linux

我需要使用 SFTP 协议将文件从基于 windows 的服务器传输到我的 Linux 服务器。他们在同一个局域网中。

我在 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 用户拥有所有权限。

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

(即使可以,您的脚本文件仍然是错误的,因为 put 将被 shell 执行 [并且不被理解],而不是sftp.)


您必须使用本地 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