wget http://host/password.txt
SSHスクリプトで使用できるように、コマンドを取得して変数に読み込んで期待できるようにしたいと考えています。
これが何をすべきかのいくつかの間違ったコードは次のとおりです。
set password "wget -O tmp http://host/password.txt && cat tmp";
spawn ssh 111.222.333.444;
send "$password\r";
以下は、bash 内で expect を使用する方法の例です。
wget -O tmp http://host/password.txt
password=$(<tmp)
login="root"
IP="localhost:8000"
expect_sh=$(expect -c "
spawn ssh $login@$IP
expect \"password:\"
send \"$password\r\"
expect \"#\"
send \"cd /var\r\"
")
echo "$expect_sh"
ただし、これを行う特別な理由がない限り、ssh キーを使用することをお勧めします。
次のようにパスワードを変数に保存できます。
wget -O tmp
http://host/password.txt
password=$(cat tmp);
ただし、 ssh password では使用できません。これは、ssh パスワードが対話型アクションとして端末入力によって読み取られるためです。