我需要使用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 [email protected]
put c:/myfile/myfile.txt
我相信... put
语法是错误的,因为我们是在Windows环境下。我的 ssh.txt
文件,这样我就可以上传 myfile.txt
进入SFTP?
abc用户拥有所有权限。
远程 sftp
进程不能访问Windows机器上的本地文件。
(即使可以,你的脚本文件也是错误的,因为你的 put
将被shell执行[而不被理解],而不是由 sftp
.)
你必须使用本地SFTP客户端将文件上传到删除SFTP服务器。
PuTTY自带的 psftp.exe
SFTP客户端 模仿OpenSSH的 sftp
客户端。
psftp.exe [email protected] -b C:\test\ssh.txt
凡是 ssh.txt
包含 put
命令。
put c:\myfile\myfile.txt