明道学苑

学而不思则罔,思而不学则殆

0%

如何通过expect脚本自动登录远程SSH服务器

本文说明如何通过expect实现客户端shell脚本自动通过SSH登陆远程服务器,以实现一些自动化维护脚本。

当希望通过Linux Bash脚本进行数据库和网站备份时,有时候需要自动登录远程SSH服务器。这个脚本可以通过expect实现。
如果机器上没有安装expect,先通过下面的指令安装expect:

apt-get install expect

安装完成后,使用下面的脚本可以实现自动登录:

HOST="abc.com"
USER="abc"
PASS="xxxx"

AUTOLOGIN=$(expect -c "
spawn ssh $USER@$HOST
expect "password"
send "$PASSr"
expect "# "
send "<"
expect eof
")

echo "==============="
echo "$AUTOLOGIN"