티스토리 뷰

SSH 또는 SFTP를 사용하기 위해서 paramiko를 설치 한다.

$ pip install paramiko
Collecting paramiko
  Downloading paramiko-2.9.1-py2.py3-none-any.whl (210 kB)
     |████████████████████████████████| 210 kB 10.6 MB/s            
Requirement already satisfied: pynacl>=1.0.1 in /home/user/.local/share/virtualenvs/venv-p0Q79Acj/lib64/python3.6/site-packages (from paramiko) (1.4.0)
Requirement already satisfied: bcrypt>=3.1.3 in /home/user/.local/share/virtualenvs/venv-p0Q79Acj/lib64/python3.6/site-packages (from paramiko) (3.2.0)
Requirement already satisfied: cryptography>=2.5 in /home/user/.local/share/virtualenvs/venv-p0Q79Acj/lib64/python3.6/site-packages (from paramiko) (3.4.8)
Requirement already satisfied: six>=1.4.1 in /home/user/.local/share/virtualenvs/venv-p0Q79Acj/lib/python3.6/site-packages (from bcrypt>=3.1.3->paramiko) (1.16.0)
Requirement already satisfied: cffi>=1.1 in /home/user/.local/share/virtualenvs/venv-p0Q79Acj/lib64/python3.6/site-packages (from bcrypt>=3.1.3->paramiko) (1.14.6)
Requirement already satisfied: pycparser in /home/user/.local/share/virtualenvs/venv-p0Q79Acj/lib/python3.6/site-packages (from cffi>=1.1->bcrypt>=3.1.3->paramiko) (2.20)
Installing collected packages: paramiko
Successfully installed paramiko-2.9.1

 

아래는 paramiko를 사용하여 원격서버에 명령을 실행하고 파일을 다운 받는 예제이다.

import paramiko
  
try:
  # ssh client 생성
  ssh = paramiko.SSHClient()
  ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  ssh.connect('123.123.123.123, '22, 'user', 'password')

  # 원격 서버에 명령 실행
  cmd = 'pwd'
  (stdin, stdout, stderr) = ssh.exec_command(cmd)
  output = stdout.readlines()
  print(output) # ['/home/user\n']

  # 원격 파일 다운로드
  sftp = ssh.open_sftp()
  src = '/home/user/test.zip'
  target = '/home/user/test.zip'
  sftp.get(src, target)
finally:
  sftp.close()
  ssh.close()  
  

'프로그래밍 > Python' 카테고리의 다른 글

[Windows10] pipenv 설정  (0) 2022.01.06
[python3] postgresql 예제  (0) 2022.01.04
[python3] mysql 예제  (0) 2022.01.04
CentOS7에서 psycopg2 설치 오류 해결  (0) 2021.09.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday