微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux shell sshpass 远程服务器 批量修改密码

命令如下:

# 作用:把192.168.101.91服务器原密码:111111改成Softsec@2020CN
sshpass -p "111111" ssh -o StrictHostKeyChecking=no root@192.168.101.91 "echo 'Softsec@2020CN' |passwd --stdin root"

命令解释:

第一部分:sshpass -p "111111" ssh -o StrictHostKeyChecking=no root@192.168.101.91

是通过sshpass这个插件远程连接了服务器192.168.101.91的root用户,sshpass的原理跟expect插件类似,就是模拟了人工输入密码。

但sshpass有个问题,当终端首次连接某个服务器时,都会有个“Are you sure you want to continue connecting (yes/no)? ”的提示,这样就没法连接,但是加上-o StrictHostKeyChecking=no”参数,即可解决这个问题。

第二部分:echo 'Softsec@2020CN' |passwd --stdin root

@这个命令意思是:修改root用户密码,且输入新密码认填写前面的内容“Softsec@2020CN”。

这样一来就可以一条命令成功修改任何服务器密码啦,一次性使用的话就弄简单些,直接复制200条这命令,然后批量修改命令中参数放到shell脚本中运行就阔以了。

sshpass 详细参考:

《linux 非交互ssh sshpass简介》https://blog.csdn.net/whatday/article/details/103008743

《linux sshpass 非交互的ssh密码验证 简介》https://blog.csdn.net/whatday/article/details/108923248

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐