perl ssh 여러 서버에 자동으로 로그인하고 종료 동작을 실행합니다
script
, 。
- #!/usr/bin/perl -w
- use strict;
- use Net::SSH::Expect;
-
- open (AF, "host_list") or die "don't open host_list: $!
";
- my @list;
- foreach (<AF>) {
- chomp;
- @list=split(/\s/);
- SHUTDOWN("$list[0]","$list[1]","$list[2]","$list[3]");
- };
- close AF;
-
- sub SHUTDOWN {
-
- my $host=shift;
- my $user=shift;
- my $password=shift;
- my $wait=shift;
- my $ssh=Net::SSH::Expect->new (
- host=>$host,
- password=>$password,
- user=>$user,
- raw_pty=>1,
- );
- $ssh->debug(0);
-
- $ssh->run_ssh() or die "SSH process couldn't start: $!";
- sleep 3;
- if ($ssh->waitfor('\(yes\/no\)\?', 2)) {
- $ssh->send("yes
");
- };
-
- $ssh->waitfor('password', 5);
- $ssh->send("$password");
- $ssh->waitfor("$wait", 2);
- #$ssh->exec("stty raw -echo");
- my $cmd=$ssh->exec("init 0");
- # print "$cmd
";
- print "$host: --------------------------------------------------
";
- $ssh->close();
- }
host_list.txt :
ip
-----------------------------
10.13.55.11 root 1234 gaia
10.13.55.10 root aaa- rdfs
10.13.55.30 root bbb- dns
10.13.55.12 root 1234 dns
10.13.55.17 root 1234 dotproject
10.13.55.19 root cccc ftp
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SSH 키 쌍이 손실된 경우 EC2 인스턴스에 대한 SSH 연결 복원얼마 전에 안타깝게도 중요한 EC2 인스턴스에 속한 SSH 키 쌍을 잃어버렸습니다. 그 시점에서 우리는 방금 인스턴스의 스냅샷을 찍고 새 키 쌍으로 새 인스턴스를 생성했습니다. 이 블로그 게시물에서는 SSH 연결을 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.