做网站的朋友一般都会用到服务器和ssh,平时登录Linux服务器时,一般使用ssh工具软件登录,但我们在定时备份或其它情况,需要ssh自动登录时,怎么办呢?因为使用ssh的命令行登录时,需要手动输入用户的密码,下面就用一个小小的shell脚本来解决这个问题。

使用expect可以帮你自动输入密码,脚本如下

#!/bin/bash
USER=root            #服务器的用户名
PASS=mypassword      #服务器的密码
IP=192.168.0.3        #服务器的IP地址
apt-get install expect -y
expect -c "
	spawn ssh -p 22 $USER@$IP
	expect {
		"*yes/no" {send \"yes\r\"; exp_continue}
		"*password" {send \"$PASS\r\" }
	};
	interact
"

上面的22是端口号,如果你更改过端口号,那么这里同步需要更新。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注