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

 

 

相关文章

在Linux系统中,设置ARP防火墙可以通过多种方法实现,包括使...
在Linux环境下,使用Jack2进行编译时,可以采取以下策略来提...
`getid`命令在Linux系统中用于获取当前进程的有效用户ID(EU...
在Linux环境下,codesign工具用于对代码进行签名,以确保其完...
Linux中的`tr`命令,其英文全称是“transform”,即转换的意...
Linux中的ARP防火墙是一种用于防止ARP欺骗攻击的安全措施,它...