0
參考net-ssh API,傳遞來自yaml的連接參數的「最佳」方式是什麼?ssh參數錯誤
錯誤:
[email protected]:~/ruby$
[email protected]:~/ruby$ ruby ssh.rb
{:host=>"localhost", :user=>"me", :port=>123, :password=>"mypassword"}
/home/thufir/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.6.8/lib/net/ssh.rb:165:in `start': wrong number of arguments (1 for 2..3) (ArgumentError)
from ssh.rb:14:in `<main>'
[email protected]:~/ruby$
代碼:
#!/usr/bin/env ruby
require 'rubygems'
require 'net/ssh'
require 'yaml'
require 'pry'
conn = YAML.load_file('conn.yml')
params = {:host => conn['host'], :user => conn['user'],
:port => conn['port'],:password => conn['password']}
puts params
Net::SSH.start(params) do |ssh|
puts 'hi'
end
YAML:
user: me
password: mypassword
port: 123
host: localhost
是有可能只是通過一個單片對象?或者,你是否必須將其分解成主機,用戶等。人?
這是野生的,不知道你可以通過原像YAML的鍵值對!我無法真正測試它,因爲我不認爲我的服務器允許ssh,但這非常有趣。如果你可以把它作爲一個散列來傳遞,它不會是一個更好的API嗎?似乎很奇怪,這些立場的論點。 – Thufir