ssh免密码自动登陆 expect

来源:互联网 发布:nginx 开启hsts 编辑:程序博客网 时间:2024/05/17 23:32

首先:sh安装expect,根据INSTALL,README,要装expect现状tcl(另一个包),http://www.tcl.tk/software/tcltk/download.html,tcl的话解压出来我直接进入的unix目录下,因为macosx下README说mac下当成unix装也没啥事,安装没什么注意的,./configure  make makeinstall is enough。装完tcl记得看下安装的路径,我的是在/usr/local/lib/。

然后:再下载expect包,https://sourceforge.net/projects/expect/files/Expect/5.45/。这里解压之后放到tcl一起,我的话即/usr/local/lib/,然后make时候make expect说是可以只装expect相关组件,make之后install了。

  然后我们就具备了expect的主要功能了

which expect可以查看 expect安装位置

然后:在一个文件夹中 touch login.sh

写入:

#!/usr/bin/expect -f

set user xxx

set host 172.19.30.xxx

set timeout -1

set password xxx


spawn ssh $user@$host


expect "*assword:*"

send "$password\r"

interact


然后修改文件权限:chmod +x logon.sh

最后:expect login.sh

即可免密码登陆远程机器

当然最后在profile中配置alias更好用



原创粉丝点击