본문 바로가기
Python

[ python ] Paramiko

by 윤팍 2022. 2. 18.

사용

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('127.0.0.1', username='user', password='pass')
  • 첫 접근시 받아오는 Host Keys가 있다. 처음 ssh 로 접근 시 yes를 누르는 그것이다.
  • set_missing_host_key_policy(policy)를 사용하여 host_keys를 받아 저장할 것인지 아닌지를 판단하게 되는데. 기본값은 RejectPolicy 로 되어있으며, yes를 받아와야한다면 AutoAddPolicy를 사용해야한다.

실행

stdin, stdout, stderr = ssh.exec_command()
stdout.readlines()
  • 실행 명령어 exec_command를 실행하게 되면 3개의 값을 tuple로 받아온다. (stdin, stdout, stderr)

SFTP

sftp = ssh.open_sftp()
sftp.get(path1, path2)
sftp.put(path1, path2)
sftp.chdir(path)
flist = sftp.listdir(path)
  • ssh 로 접속한 다음, open_sftp()후 파일을 가져올때는 get, 보낼때는 put을 사용한다.
  • chdir : sftp 세션의 현재 디렉토리를 변경한다. 작업 디렉터리를 설정하면 이 SFTPClient개체에 대한 모든 작업은 해당 경로를 기준으로 합니다
  • listdir : 해당경로의 파일목록을 반환한다.