Loading [MathJax]/jax/output/HTML-CSS/jax.js

perl批量更改服务器密码

简介:
#!/usr/bin/ perl

use strict;
use warnings;
use Net::SSH::Expect;   
use String::MkPasswd qw(mkpasswd);


my $user = "user";
my $pass = 123456;
my $root_pass = 123456;
my $new_user_pass = mkpasswd(-length => 15, -minnum => 3, -minlower => 3 , -minupper => 3, -minspecial => 3);
my $port = 22;



open (FILE, "</var/bak/test/iplist") or die "can't open file: $!\n";
while (<FILE>) {
      print;
      &ssh_host( "","port", "user","pass" );
}
close(FILE);


sub ssh_host() {
      my ( host,port, user,pass ) = @_;
      my $ssh = Net::SSH::Expect->new(
              host              => $host,
              port              => $port,
              password      => $pass,
              user              => $user,
              no_terminal => 0,
              raw_pty         => 1,
              timeout         => 5,
      );

      open (FH, ">> /var/bak/test/log_host")ordie"cantopenfile:!\n";

      print FH "-" x 80, "\n";
      my $start_time = localtime;
      print FH "start \tat $start_time\n";

      $ssh->debug(0);
      ssh>runssh()ordie"SSHprocesscouldntstart:!\n";

      ssh>waitfor(\(yes\/no\)\?', 5 );
      $ssh->send("yes\n");
      ssh>waitfor(password:\s/', 5 );
      ssh>send("pass");

      $ssh->send("su - root");
      ssh>waitfor(Password:\s', 5 );
      ssh>send("root_pass");
      $ssh->waitfor( '#\s*', 5 );

      print FH "root login ok. \n";

      $ssh->send("passwd");

      ssh>waitfor(password:\s', 5 );
      ssh>send("new_user_pass");

      ssh>waitfor(password:\s', 5 );
      ssh>send("new_user_pass");
      $ssh->waitfor( '#\s*', 5 );

      my ls=ssh->exec("id");
      print FH "$ls\n";
      print FH "chang password ok!!!!!!!\n";
      print FH "$new_user_pass\n";

      my $end_time = localtime;
      print FH "end \tat $end_time\n";

      $ssh->close();

      close FH;

      print "-" x 80, "\n";
}









本文转自 trt2008 51CTO博客,原文链接:http://blog.51cto.com/chlotte/284679,如需转载请自行联系原作者
目录
相关文章
|
13天前
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
61 14
|
5月前
|
存储 弹性计算 安全
阿里云服务器购买后设置密码、安全组、基础安全服务、挂载云盘等流程简介
对于初次选购阿里云服务器的用户来说,通过阿里云推出的各类活动买到心仪的云服务器仅仅是第一步。为了确保云服务器能够正常运行并承载您的应用,购买之后还需要给云服务器设置远程登录密码、设置安全组规则、设置基础安全、购买并挂载云盘等操作之后,我们才能使用并部署自己的应用到云服务器上。本文将详细介绍在阿里云的活动中购买云服务器后,您必须完成的几个关键步骤,助您快速上手并充分利用云服务器的强大功能。
|
9月前
|
Linux Shell 数据安全/隐私保护
Linux如何在服务器上进行密码的修改?
【10月更文挑战第6天】Linux如何在服务器上进行密码的修改?
1436 1
|
12月前
|
弹性计算 运维 安全
云服务器 ECS产品使用问题之怎么添加登录密码
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
云服务器 ECS产品使用问题之怎么添加登录密码
|
12月前
|
弹性计算 Linux 数据安全/隐私保护
云服务器 ECS产品使用问题之linux如何设置服务器密码
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
12月前
|
SQL 弹性计算 安全
通过阿里云的活动购买的云服务器,后续购买并挂载云盘、设置密码及安全组教程
现在大多数用户购买阿里云的云服务器通常都是通过阿里云的活动来购买,这种购买方式主要是价格更实惠,且购买流程简单,但是选购活动中的云服务器,一般只有系统盘,没有数据盘,这需要我们在购买之后单独购买并挂载云盘作为数据盘,而且云服务器的密码和安全组等基础设置也是需要在购买之后再设置的。本文为大家介绍后续购买并挂载云盘、设置密码及安全组的相关教程,以供参考。
通过阿里云的活动购买的云服务器,后续购买并挂载云盘、设置密码及安全组教程
|
安全 Linux Shell
SSH服务器拒绝密码登录的解决方法
SSH服务器拒绝密码登录的解决方法
2647 1
|
12月前
|
弹性计算 数据安全/隐私保护 云计算
云服务器 ECS产品使用问题之如何设置阿里云幻兽帕鲁服务器玩家连接密码
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
网络安全 数据安全/隐私保护
服务器密码登录出现了:SSH connection failed: connect ECONNREFUSEDxxxxxxxx:22 * Xshell提示 SSH connection fa
服务器密码登录出现了:SSH connection failed: connect ECONNREFUSEDxxxxxxxx:22 * Xshell提示 SSH connection fa
|
弹性计算 运维 安全

热门文章

最新文章