게시물 42건
   
[스크립트] expect 를 이용해서 패스워드 없이 원격 작업 진행하기 [단일 & 다중]
글쓴이 : 최장섭 날짜 : 2015-04-22 (수) 17:14 조회 : 7258
  • SSH-KEYGEN 을 사용하지 않고 패스워드를 알고 있는 상황에서 원격으로 작업을 내릴 시
    expect 패키지가 있다는 조건에 아래와 같이 사용합니다.

  • [root@10-VM ~]# rpm -qa expect
    expect-5.44.1.15-5.el6_4.x86_64

    [root@10-VM ~]# ll /usr/bin/expect
    -rwxr-xr-x 1 root root 11304 Oct 31  2013 /usr/bin/expect

  • 단일 서버 작업시

    #vim reboot.exp

    #!/usr/bin/expect
    spawn bash -c "ssh
    root@10.10.10.11"
    expect -re "password"
    send "패스워드\r"
    expect -re "#"
    send "reboot\r"
    interact

  • 스크립트 실행 방법
    expect -f reboot.exp

  • 다중 서버 작업시
    /root/HOST 안에 서버 정보들 (IP) 등을 미리 넣어둡니다.

  • vim reboot.sh
    #!/bin/bash
    for HOST in `cat /root/HOST`
    do
    expect <<EOF
    sleep 0.5
    spawn bash -c "ssh
    root@$HOST"
    expect -re "password"
    send "패스워드\r"
    expect -re "#"
  • send "reboot\r"
  • interact
  • EOF
  • done

  • 실행방법
    #sh reboot.sh


이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

miwit.com sir.co.kr DNS Powered by DNSEver.com DNS Powered by DNSEver.com