linux中expect修改密码,expect 批量修改密码(无密码ssh登入就不要用这个了)

#!/bin/bash

for ip in `cat iplist.txt`

do

pwd=`mkpasswd -l 12 -s 0 -C 0`

grep -q $ip /root/pwd.log&&passwd=$(grep $ip /root/pwd.log|cut -d: -f2)||passwd=123456

expect -c "

spawn ssh root@$ip  passwd

expect {

\"*yes/no*\" { send \"yes\r\";exp_continue }

\"*password*\" { send \"$passwd\r\"; }

}

expect {

\"*New password:\"  { send \"$pwd\r\";exp_continue }

\"Retype new password:\" { send \"$pwd\r\";exp_continue }

\"*#\" { send \"exit\r\"; }

}

"

[[ -f /root/pwd.log ]]&&sed -i "/^$ip/d" /root/pwd.log

echo "$ip:$pwd" >>/root/pwd.log

done

其中passwd=123456是初始密码

新密码放在/root/pwd.log里面

ip列表放在脚本目录下的iplist.txt里面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux脚本,可以使用expect来实现自动输入密码登录服务器的功能。Expect是一个自动化工具,可以用来与交互式程序进行通信。在脚本,可以使用expect命令来编写脚本,实现自动输入密码的功能。 下面是一个示例脚本,展示如何使用expect来实现自动输入密码登录服务器的功能: ```shell #!/usr/bin/expect # 设置超时时间 set timeout 30 # 定义变量 set host "your_server_host" set username "your_username" set password "your_password" # 执行ssh登录命令 spawn ssh $username@$host # 使用expect来匹配并自动输入密码 expect { "*password:*" { send "$password\r" } } # 设置交互模式 interact ``` 在这个脚本,首先设置了超时时间为30秒,然后定义了服务器的主机名、用户名和密码。接着使用spawn命令执行ssh登录命令,使用expect命令来匹配并自动输入密码。当出现密码输入提示时,脚本会自动发送密码。最后使用interact命令设置交互模式,保持与服务器的会话。 使用这个脚本,你只需要将"your_server_host"、"your_username"和"your_password"替换为实际的服务器主机名、用户名和密码,然后保存为一个.sh文件,运行脚本即可实现自动输入密码登录服务器的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Linux环境通过shell脚本进行ssh登录服务器](https://download.csdn.net/download/u012492092/88106465)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Shell脚本实现自动输入密码登录服务器](https://download.csdn.net/download/weixin_38653085/12846272)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Linux通过Shell脚本命令修改密码的两种方式](https://download.csdn.net/download/weixin_38677190/14893287)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值