如题
现在的问题是服务器上设定了 sshkey(id_rsa), 代码怎么实现用 Net::SCP::download 来下载文件呢?在不使用密码登录目标服务器的情况下。 Net::SCP::download 能引用 sshkey(id_rsa)么? 还是别的方法? 请教各位!
求助
把本机的ssh_key加到服务器的authorized_keys,然后 Net::SCP::download 不设置 password 参数应该就可以了
ssh_key
authorized_keys
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 如上替换自己公钥地址和服务器信息即可
谢谢各位,是服务器的 sshkey 设置的有问题, 现在的问题是 Net::SCP::download 想要带上端口怎么弄呢?
def self.download!(host, username, remote, local=nil, options={}, &progress) options = options.dup start(host, username, options.delete(:ssh) || {}) do |scp| return scp.download!(remote, local, options, &progress) end end
def self.start(host, username, options={}) session = Net::SSH.start(host, username, options) scp = new(session) if block_given? begin yield scp session.loop ensure session.close end else return scp end end
其中 option 选项可以参考: http://net-ssh.github.io/net-ssh/Net/SSH.html
#2 楼 @w7938940 ago
谢谢各位,是服务器的 sshkey 设置的有问题,现在的问题是 Net::SCP::download 想要带上端口怎么弄呢?
@jerrym 看 options 啊,里边包含有 port 参数
嗯,谢谢,找到了