SSHを使用するためにRubyでシェルアウトしようとしています。SSH モジュールがあることは知っていますが、使用したくありません。不格好で紛らわしいと思います。
私はSSHを非常にうまくシェルアウトして使用することができます。ただし、誰かがいくつかの提案を提供してくれることを望んでいたという不満が1つあります。
Bashでは、これを行うことができます:
echo "PASSWORD" | ssh SERVER "sudo -S cat /etc/sudoers"
ps -ef を実行すると、次のように表示されます。
USER 8212 8837 0 09:31 pts/7 00:00:00 ssh SERVER sudo -S cat /etc/sudoers
ps -ef を実行すると、パスワードは表示されません。
ルビーで同じことをすると、パスワードがエコーされます:
%x[echo "#{password}" | ssh -q -o BatchMode=yes SERVER "sudo -S cat /etc/sudoers 2>/dev/null"].split("\n")
ps -ef を使用してサーバーに表示されます。
sh -c echo "PASSWORD" | ssh -q -o BatchMode=yes SERVER "sudo -S cat /etc/sudoers 2>/dev/null"