我有一種情況,因爲我必須登錄到遠程系統並獲取它們的硬件信息。 我登錄到他們的系統我已經使用ssh爲此我使用net-ssh gem。 這裏是我的代碼,我登錄和查看信息在ruby中使用net :: ssh使用sudo命令獲取遠程系統的信息
Net::SSH.start('host','user', :password => 'xxxxxx') do |ssh|
ssh.exec!("echo 'xxxxxx' | sudo -S dmidecode -s system-serial-number")
end
爲得到我已經使用sudo -S dmidecode -s system-serial-number
命令 它是作爲密碼用戶1.0.0給人以密碼輸出爲用戶信息 我如何刪除該消息?
我提到這個link但我也實現了它,但它會花費很多時間來加載他們是如何做到這一點的他們的任何其他方式?
result = nil
session.exec!("sudo -S dmidecode -s system-serial-number") do |channel, stream, data|
if data =~ /^\[sudo\] password for user:/
channel.send_data 'your_sudo_password'
else
result << data
end
result
d
感謝快速反應。但他們是數百個系統,我們必須登錄並獲取他們的系統信息。我無法更改他們的文件。 – r15