首页 > 解决方案 > 无法使用 QuotaGuard 静态 IP 连接 SFTP(AWS EC2)

问题描述

我在 Heroku 上使用QuotaGuard 静态插件来访问具有白名单 IP的SFTP 服务器(AWS EC2) 。

我试图连接一个私钥文件。这是我的代码。

def connect
  puts "started"
  Net::SSH.start(ENV["HOST"], ENV["USER"],
    {
      :key_data => [ ENV["FTP_KEY"] ],
      :keys => [],
      :keys_only => true,
      :verbose => :debug,
      :proxy => proxy
    }
  ) do |ssh|
    ssh.sftp.connect do |sftp|
      sftp.dir.foreach("/") do |entry|
          puts entry.longname
      end
    end
  end
  puts "done"
end

def quotaguard
  URI(ENV["QUOTAGUARDSTATIC_URL"])
end

def proxy
  Net::SSH::Proxy::HTTP.new(quotaguard.host,quotaguard.port, :user => quotaguard.user,:password=> quotaguard.password)
end

但是无法连接此错误。

WARN: Net::SSH::Proxy::ConnectError: {:version=>"HTTP/1.1", :code=>502, :reason=>"Bad Gateway", :headers=>{}, :body=>nil}

HOSTUSERFTP_KEYQUOTAGUARDSTATIC_URLHeroku 环境变量

我的想法:

我认为要使用代理连接AWS EC2,可能需要配置一些设置以允许AWS EC2上的代理

但不确定。

标签: amazon-web-servicesherokuamazon-ec2quotaguard

解决方案


AWS EC2 上有错误的安全组。我更新了,现在可以连接了。


推荐阅读