paramiko를 사용하여 루트 비밀번호를 대량으로 변경합니다
#vim/home/remote_ssh.py
#!/usr/bin/env python
import sys # 실행 프로그램을 정의하는 데 몇 개의 매개 변수가 필요한 모듈 import paramiko # 원격 sshimport os # 파일의 존재 여부를 판단하는 모듈 import getpass # 암호를 입력하게 하는 모듈 import threading # 멀티스레드 모듈
def remote_ssh(host,pwd,comm):ssh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy() # 응답 yesssh.connect(host,username='root',password=pwd)stdin,stdout,stderr = ssh.exec_command(comm)out = stdout.read () # 정의 표준 출력err = stderr.read () # 정의 오류 출력 if out:print "Host {0} output is: {1}"format(host,out)if err:print "Host {0} error is:/n{1}".format(host,err)ssh.close()
if name == 'main':if len(sys.argv) != 3: #sys.argv는 프로그램을 포함한 매개 변수의 개수를 print "Usage: {0} ipfile'command"라고 표시합니다.format(sys.argv[0])sys.exit(1)if not os.path.isfile(sys.argv[1]): # IP 파일에 print "No such file:"가 없으면 sys.argv[1]sys.exit(2)
passwd = getpass.getpass("Please input password:")
ipfile = sys.argv[1]
command = sys.argv[2]
with open(ipfile) as fileobj:
for line in fileobj:
ip = line.strip()
t = threading.Thread(target=remote_ssh,args=(ip,passwd,command))
t.start()
#python/home/remote_ssh.py/home/ipaddr.txt'echo 888888 | passwd --stdin root'# 루트 비밀번호 변경 888888888
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
python은paramiko를 이용하여 서버 명령을 실행하는 방법말이 많지 않으면 바로 코드를 찍는다. 봉인 연결 서버에서 명령 실행 서버에 파일 보내기 능력에 한계가 있으니, 만약 부적당하면 메시지를 남겨 시정해 주십시오 이상은python이paramiko를 어떻게 이용하여 서버...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.