我需要使用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用户拥有所有权限。
答案 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