티스토리 뷰
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