リモートシステムにログインしてハードウェア情報を取得する必要がある状況があります。私は彼らのシステムにログインしました。これには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