パスワードなしのssh接続を設定するために、bashスクリプトで使用する次のexpectコマンドがあります。
VAR=$(expect -c '
spawn ssh-copy-id -i '"$SSH_KEY_PATH_PUB $REMOTE_HOST_USER@$REMOTE_HOST_IP "'
expect "*?assword:*"
send "'"$REMOTE_HOST_PASSWD"'\r";
expect {
"Permission denied, please try again." {
exit '"$WRONG_PASSWORD"'
}
}
')
パスワードを送信するために、パスワード文字列が「?assword:」であることを期待していますが、期待ブロックに何を書いても機能します。
expect "xxxx"
expect "yyyy"
それも機能するので、そのブロックに入らないと思いますか?.解決策は何ですか?