728x90
반응형
paramiko
Welcome to Paramiko! — Paramiko documentation
Paramiko is a pure-Python 1 (3.6+) implementation of the SSHv2 protocol
파라미코는 파이썬으로 구현한 SSHv2 protocol이다...
내가 만들고자 한 프로그램
서버에 ssh로 붙어서 명령어를 날려보고 싶었다.
파이썬으로 어떻게 해야하나 몰랐는데 paramiko라는게 있어서 이용해봤다.
중간에 missing_host_key_paramiko.SSHException: Unknown server x.x.x.x~~ 라는 에러가 나오는데, 해당 에러를 검색해보면 바로 해결이 가능하다.
서버에 처음 붙으면 Host Key를 받아오는데, 이게 무조건 있어야 접속이 된다고 한다.
서버에 ssh로 붙으면 yes/no 뭐 fingerprint 나오고 yes를 치고 들어가는 과정을 거치는데 해당 과정인듯..?
AutoAddPolicy() 옵션을 사용하여 host key를 자동생성함
import paramiko
import time
# 서버 리스트
servers = [
#('115.143.0.1', 'username', 'password'),
('x.x.x.x', 'sangs', '1234')
]
# 명령어
command = "date"
for server in servers:
# 연결 생성
ssh = paramiko.SSHClient()
# 원격 서버 호스트키 자동 생성(원격 서버의 키가 없어도 연결할 수 있도록)
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(server[0], username=server[1], password=server[2])
# 명령어 실행
stdin, stdout, stderr = ssh.exec_command(command)
for line in stdout:
print(f"{host}: {line}") # 서버 표준 출력 내용 출력
# 연결 종료
ssh.close()
서버에 진단 스크립트를 원격으로 실행해보았다.. 진단 결과도 가져올 수 있도록 만들어봐야겠다.
728x90
반응형
'프로그래밍 > 파이썬' 카테고리의 다른 글
파이썬 request - post 형식으로 request하고 response 받기 (0) | 2023.10.13 |
---|---|
enumerate로 인덱스 번호 붙이기 (0) | 2023.09.21 |
파이썬 함수에서 return (0) | 2023.08.24 |
selenium을 이용한 웹 페이지 자동화 구현 (0) | 2022.09.16 |
django.db에 데이터 추가하기 (0) | 2022.07.09 |
댓글