我有一种情况,因为我必须登录到远程系统并获取他们的硬件信息。我登录到他们的系统,为此我使用了 ssh,我正在使用 net-ssh gem。这是我登录并获取信息的代码
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的密码
我如何删除该消息?
我已经参考了这个链接,但我也实现了它,但是加载需要很多时间他们有什么其他方法可以做到这一点?
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