将文件上载到远程服务器的Python脚本
我正在从事一个项目,该项目要求我们通过SFTP将恶意文件上传到远程服务器,但我们在这方面遇到了麻烦。我们试图遵循这一点,但我们遇到了一些问题 当我们运行脚本时,我们得到了一个“没有这样的文件”错误,并且我们确信该文件存在,并且我们已经为python脚本提供了正确的文件名和位置 这是我们现在的脚本:将文件上载到远程服务器的Python脚本,python,upload,sftp,pysftp,Python,Upload,Sftp,Pysftp,我正在从事一个项目,该项目要求我们通过SFTP将恶意文件上传到远程服务器,但我们在这方面遇到了麻烦。我们试图遵循这一点,但我们遇到了一些问题 当我们运行脚本时,我们得到了一个“没有这样的文件”错误,并且我们确信该文件存在,并且我们已经为python脚本提供了正确的文件名和位置 这是我们现在的脚本: import pysftp as sftp def sftpTry(): try: s = sftp.Connection(host='babbage.cs.m
import pysftp as sftp
def sftpTry():
try:
s = sftp.Connection(host='babbage.cs.missouri.edu', username ='<username>', password = '<password>')
remotepath = '~it3001s14grp1/videos/newVideo/new.avi'
#localpath = '/etc/motion/capture/hello.txt'
localpath = '/etc/motion/capture/06--2014-05-15---16-16-25.avi'
s.put(localpath, remotepath)
s.close()
except Exception, e:
print str(e)
sftpTry();
将pysftp导入为sftp
def sftpry():
尝试:
s=sftp.Connection(host='babbage.cs.missouri.edu',用户名='',密码='')
remotepath='~it3001s14grp1/videos/newVideo/new.avi'
#localpath='/etc/motion/capture/hello.txt'
localpath='/etc/motion/capture/06--2014-05-15--16-16-25.avi'
s、 put(本地路径、远程路径)
s、 关闭()
除例外情况外,e:
打印str(e)
sftpTry();
远程路径应以正斜杠“/”开头。此外,请检查您在remotepath中指定的目录。当您登录到服务器时,应该尝试在目录中执行pwd
(比如使用ssh)。远程路径的指定方式应与此完全相同
虽然您在远程路径中有文件名,但如果您只指定文件夹的名称,则会引发错误
另一个技巧是使用getpass
而不是硬编码密码:
passwd = getpass.getpass()
s = sftp.Connection(host='<host>', username = '<username>', password = passwd)
passwd=getpass.getpass()
连接(主机=“”,用户名=“”,密码=passwd)
^您应该使用ssh key gen而不是密码创建公钥和私钥