首页 > 系统相关 >Shell脚本自动输入密码

Shell脚本自动输入密码

时间:2023-09-14 18:33:24浏览次数:39  
标签:tmp Shell echo 密码 expect 控制台 输入

Shell脚本自动输入密码

原创 生活处处有BUG 生活处处有BUG 2023-09-08 23:36 发表于广东 收录于合集 #实操18个 #linux10个

方式一 使用 echo “密码” | (管道符)

使用场景: sudo 命令

在使用普通用户执行 root 命令时有时候会需要输入密码,并且在输入密码后一段时间不需要再次输入(但是不影响),这时候可以使用

echo "密码" | sudo 命令

demo

(base) xj@xjpc:~/tmp$ mkdir /home/tmp.txt
mkdir: cannot create directory ‘/home/tmp.txt’: Permission denied
(base) xj@xjpc:~/tmp$ echo 'king' | sudo mkdir /home/tmp.txt

方式二 expect

echo + 管道符不是什么时候都可以生效(比如我写的自动提交博客脚本最后需要输入我的服务器的 git 仓库密码就不生效,ssh也不生效),因此我们可以使用 expect 方法来执行。

图片image-20230817112646582

demo

#!/usr/bin/expect

set timeout 30
spawn ssh -l xj 172.16.101.222
expect "password:"
send "king\r"
interact

这里的语句是这样的:

设置超时时间为30s spawn 是 expect 的起始语句,可以理解为从此处开始 spawn 后面的语句是执行 ssh 连接 expect:当发现password:这个字符串后,在后方输入send后面的内容 send:要输入的密码 interact:执行完留在远程控制台,不加这句执行完后返回本地控制台

这个只能放在一人shell脚本文件中,执行之后,控制台就是远程服务的控制台了。

我有个大胆的想法

小伙伴在平常有没有遇到以下这种情况:遇到技术难题时,网上教程一堆堆,优秀的很多,但也有很多是过时的,或者是copy来copy去,甚至错别字都没改。

我公众号的技术文章,都是亲自校验过的。至少可以保证在发文的一段时间,不会过时。如果你在实操过程中,有遇到问题,可以在同名公众号留言,免费解答,相互学习,相互成长^v^

往期精彩

收藏那么多python资料干嘛,这一本就够你从入门到入土了!

SaaS 多租户系统数据隔离方案

爬虫能有多难啊?看完这篇,你还不上手?

如何每天自动发送微信消息给女朋友说晚安

又给家人们送福利了-清华出版的python

 

收录于合集 #实操  18个 上一篇MySQL如何定位慢查询的原因下一篇一篇教你Git从入门到精通   阅读 1478 生活处处有BUG ​   写留言          

标签:tmp,Shell,echo,密码,expect,控制台,输入
From: https://www.cnblogs.com/cheyunhua/p/17703154.html

相关文章

  • 遍历输入框时出现输入一个字符立刻失焦,无法正常输入
    原因:循环时绑定输入框值为key,双向绑定时改变输入框值,key值被修改则失焦。解决:动态值不要作为key值 ......
  • [转] HashCat Linux密码
    linux操作系统密码破解(1)(2)(3)(4)一、linuxsha512crypt$6$,SHA512(Unix)加密方式:hashcat-m1800sha512linux.txtp.txt二、linuxsha256crypt$5$,SHA256(Unix)加密方式:hashcat-m7400sha256linux.txtp.txt三、linux下md5crypt,MD5(Unix),Cisco-IOS$1$(MD......
  • (Windows Hadoop环境配置)IDEA:ERROR util.Shell: Failed to locate the winutils bina
    ERRORutil.Shell:Failedtolocatethewinutilsbinaryinthehadoopbinarypath出错原因:还没有在windows上配置hadoop环境变量。解决:在windows上配置hadoop环境变量参考:windows下缺少windutils.exe和hadoop.dll的解决方法_winuntil.exe_许你常欢的博客-CSDN博客下载好对......
  • app直播源码,Vue 禁止输入框输入空格
    app直播源码,Vue禁止输入框输入空格 <template> <div>  <input   type="text"   v-model="text"   @input="(e)=>text=e.target.value.replace(/\s/g,'')"  > </div></template><scri......
  • 16个桌面Linux用户必须要知道的Shell命令
    有些人仍然会有这中愚蠢的想法,他们认为使用Linux就必须使用Linuxshell命令。胡说!你可以不懂得任何Linux命令,比如说ps,grep,ls等,但是你仍然可以使用很多现代的Linux桌面发行版。Linux的系统管理员与桌面用户不一样,他们不像桌面用户一样使用Cinnamon,GNOME,Unity,或者KDE,他们所......
  • 【C语言】scanf多组输入的三种方法!
    (文章目录)前言  <fontcolor=green>......
  • 输入界面(html,javascript)可随机生成验证码
    <!DOCTYPEhtml><html><body><h2>登录界面</h2><!--form表示表单--><formid="loginForm"><labelfor="username">用户名:</label><br><inputty......
  • 校验密码必【不能带有中文字符以及中文】
     ^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_]+$)(?![a-z0-9]+$)(?![a-z\\W_]+$)(?![0-9\\W_]+$)[a-zA-Z0-9\\W_][^\u4E00-\u9FFF\uFF00-\uFFEF\u3000-\u303F]{7,16}$ 表示校验密码必须有大小写字母、数字、特殊字符三种以上并且不能带有中文字符以及中文  varregexpEx......
  • ubuntu 设置中文输入法
    首先没有汉语输入法时,要用力点击那个chinese:才会展开汉语输入法:如图,选(汉语)是没用的,应该选(汉语带后缀的某一个即可)......
  • HDFS的常见Shell操作
    HDFS的常见Shell操作直接在命令行中输入hdfsdfs,可以查看dfs后面可以跟的所有参数。详细使用方法请参考官方文档。注意:这里面的[]表示是可选项,<>表示是必填项[hadoop@hadoop81hadoop]$hdfsdfsUsage:hadoopfs[genericoptions] [-appendToFile<localsrc>...<dst>] [-cat......