1
我正在使用自动通预计bash.The代码;SSH-副本ID,并期望在bash
ssh-copy-id -i $SSH_KEY_PATH_PUB [email protected]$REMOTE_HOST_IP (here asks pass)
VAR=$(expect -c"
expect "*?assword:*"
send "$REMOTE_HOST_PASSWD\r";
send -- "\r"
expect eof
")
echo "$VAR"
它仍然要求password.what是问题
解决:SSH-copy-id命令-i $ SSH_KEY_PATH_PUB $ REMOTE_HOST_USER @ $ REMOTE_HOST_IP必须在期望的那样阻止;
spawn ssh-copy-id -i $SSH_KEY_PATH_PUB [email protected]$REMOTE_HOST_IP
和线
send "$REMOTE_HOST_PASSWD\r";
必须
send \"$REMOTE_HOST_PASSWD\r\";
你见过这个问题吗? [在bash脚本中使用期望为SSH命令提供密码](http://stackoverflow.com/questions/4780893/use-expect-in-bash-script-to-provide-password-to-ssh-command?rq= 1) – Hasturkun 2012-08-14 12:11:15
为什么不使用基于密钥的身份验证? – Anders 2012-08-14 13:19:34