0

私はいくつかの宝石、例などを試しましたが、これを機能させることができません。より有望な宝石はdouble-bag-ftpsFTPFXP でした。

ftpfxp を使用したサンプル コード:

@conn2 = Net::FTPFXPTLS.new
@conn2.passive = true
@conn2.debug_mode = true
@conn2.connect('192.168.0.2', 990)
@conn2.login('myuser2', 'mypass2')
@conn2.chdir('/')
@conn2.get("data.txt")
@conn2.close

ダブルバッグのサンプルコード:

ftps = DoubleBagFTPS.new
ftps.ssl_context = DoubleBagFTPS.create_ssl_context(:verify_mode => OpenSSL::SSL::VERIFY_NONE)
ftps.connect('192.168.0.2')
ftps.login('myuser2', 'mypass2')
ftps.chdir('/')
ftps.get("data.txt")
ftps.close 

ダブルバッグのエラー例:

~/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/double-bag-ftps-0.1.0/lib/double_bag_ftps.rb:148:in `connect': Broken pipe - SSL_connect (Errno::EPIPE)

ftpfxp のサンプル エラー:

~/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/net/ftp.rb:206:in `initialize': No route to host - connect(2) (Errno::EHOSTUNREACH)

外部コマンドを含まない推奨事項はありますか?

ありがとう。

4

1 に答える 1

0

私は問題を解決しました。明示的な tls を使用してパッシブ モードで接続しようとしているときに、サーバーがプライベート IP アドレスを返していたので、返された IP が元のパブリック IP アドレス...

GitHub プル リクエスト

したがって、誰かが同じ問題を抱えている場合、おそらくこれが答えであり、これが他の誰かを助けることができることを願っています:)

于 2013-03-07T02:03:33.733 に答える