2

私は、SFTP 経由でリモート サーバーに悪意のあるファイルをアップロードする必要があるプロジェクトに取り組んでいますが、これを行うのに問題があります。このYouTube ガイドに従ってみましたが、いくつかの問題が発生しています。

スクリプトを実行すると「そのようなファイルはありません」というエラーが表示されますが、ファイルが存在すること、および Python スクリプトにファイルの正しい名前と場所を指定したことは確かです。

これは、現在のスクリプトです。

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();
4

1 に答える 1

1

リモート パスはスラッシュ「/」で開始する必要があります。また、remotepath で指定しているディレクトリを確認してください。pwdサーバーにログインするときは、ディレクトリでa を実行するようにしてください(たとえば、ssh を使用します)。remote-path は、そのように正確に指定する必要があります。

リモート パスにファイル名があっても、フォルダーの名前だけを指定するとエラーがスローされます。

もう 1 つのヒントはgetpass、パスワードをハードコーディングする代わりに使用することです。

passwd = getpass.getpass()
s = sftp.Connection(host='<host>', username = '<username>', password = passwd)
于 2014-05-15T18:21:33.197 に答える