使用方法: ./sshlogin IP 密码
root@node5 ~]# cat sshlogin
#!/bin/bash
ip=$1
passwd=$2
port=22
autologin(){
expect -c "
set timeout 5
spawn ssh-copy-id -f root@$1 -p$3
expect {
"*yes/no*" {send "yes"\n;exp_continue}
"*password:" {send "$2"\n}
}
expect eof
"
}
#sh createAuth.sh
createAuth(){
if [ ! -f ~/.ssh/id_rsa.pub ] || [ ! -f ~/.ssh/id_rsa ] ;then
expect <<-EOF
spawn ssh-keygen
expect "*:"
send "\n"
expect {
"*y/n*" {send "y\n";exp_continue}
"*:" {send "\n"}
}
#expect eof
EOF
fi
}
createAuth
autologin $ip $passwd $port