位置: 编程技术 - 正文
推荐整理分享shell脚本无密码登录 expect的使用方法详解(shell脚本sudo免输密码),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:shell脚本源码加密,shell脚本输入密码,shell脚本设置密码,shell脚本设置密码,shell脚本sudo免输密码,shell脚本密码加密,shell脚本免密登录,shell脚本sudo免输密码,内容如对您有帮助,希望把文章链接给更多的朋友!
shell脚本无密码登录 expect的使用方法详解
今天需要做一个定时任务脚本将最新的数据包文件传到远程的服务器上,虽然有密钥但也是要求输入密码的那种,所以只能另想办法实现让脚本自动输入密码了。
从网上查到使用expect可以,简单研究了一下,效果不错。
因为我的操作系统没有安装expect,所以直接"yum -y install expect",你可以根据你的操作系统安装expect,或者源码编译。安装好之后就可以使用了,这里有几种方法:
一、单独写一个脚本
如 auto_scp.sh:

我这里的变量都是随意设置的,你可以根据你的情况进行选择,保存退出之后,对该文件加上可执行权限,运行"./auto_scp.sh 2.2.2.2"就可以了,"2.2.2.2"就是传入的第一参数。
"passphrase"和"password"等就是要监测的输入提示的一部分,send "$server_pswdn"就是要执行的命令。
二、在脚本中使用----我比较喜欢这个
我这里使用的是Here document方法。
变量都是我从配置文件中获取的,这里不再赘述了。
三、在脚本中使用
也是在脚本使用,但是不是用的Here document方法,而是使用expect -c 参数书,"-c"选项后面的字符串填充的就是命令。但是要注意本身字符串的转义符。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
Linux 添加普通用户到 sudo 列表的方法 前言Linux的普通用户(uid=)不具有某些命令的执行权限,为了执行较高权限的命令,一般有两种方法:第一种是使用su-命令切换到root用户去执行;另
linux中top命令详解 简介top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top显示系统当前的进程和其他状
linux下mysql如何自动备份shell脚本 Linux服务器上的程序每天都在更新MySQL数据库,于是就想起写一个shell脚本,结合crontab,定时备份数据库。其实非常简单,主要就是使用MySQL自带的mysqldum
上一篇:详解Shell cut用法(shell section)
下一篇:Linux 添加普通用户到 sudo 列表的方法(linux怎样添加用户)