[Python] paramiko

2016. 9. 12. 17:27·IT기술 관련/파이썬_루비 등 언어
반응형

출처: http://www.dreamy.pe.kr/zbxe/CodeClip/164988

 

한글로된 글이 없어서 우선 내가 알아낸 곳과 사용한 곳까지 작성을 해둘려고한다.

PARAMIKO

  • Python 2.6+, 3.3+에서 사용할 수 있는 SSHv2 구현체이다.
  • 물론 Client, Server를 둘다 사용이 가능하다.
  • 저 레벨 암호화를 위해서 PyCrypro(이부분은 Python C 확장으로 구현)를 제외한 나머지 부분들은 전부 Python으로만 구현되어있다.

사용

1. 사용 예제

1
2
3
4
import paramiko
 
ssh = paramiko.SSHClient()
ssh.connect('127.0.0.1', username='ujuc', password='lol')

2. Host Keys

  • 첫 접근시 받아오는 Host Keys가 있다. 이것을 받아서 저장하던 날려먹던 상관은 하지 않지만 있어야지 접근이 가능하다.
    • 처음 ssh로 접근시 무의식적으로 yes를 누르는 그것!!
  • 그러다보니 여기서도 그것에 관련된 내용을 사용할 수 있다.
  • set_missing_host_key_policy(policy)를 이용하여 host keys를 받아 저장할 것인지 아닌지를 판단하게 되는데. 기본값은 RejectPolicy로 되어있으며,yes를 받아와야한다면 AutoAddPolicy를 사용하도록 한다.
1
2
3
4
5
import paramiko
 
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('127.0.0.1', username='ujuc', password='lol')
  • 물론 Public key를 이용해서 비밀번호 없이 접근이 가능하도록 할 수 있을듯 한데 그건 좀 확인이 필요할듯.

3. 실행

  • 실행 명령어 exec_command를 실행하게되면, 값을 3개를 tuple로 받아온다.
  • stdin, stdout, stderr이다.
    *명령어에 대한 값들을 받아와 확인할때는 아래와 같이 작성을 하면된다.
1
2
3
stdin, stdout, stderr = ssh.exec_command()
stdout.readlines()
['test\n']
  • 만약 sudo명령어가 필요한 경우,
1
2
3
4
stdin, stdout, stderr = ssh.exec_command('sudo')
<span class="skimlinks-unlinked">stdin.write('lol\n</span>')
<span class="skimlinks-unlinked">stdin.flush</span>()
data = <span class="skimlinks-unlinked">stdout.read</span>()
  • 위와 같이하여 작성을 하도록 한다.
  • 그리고 write다음에는 flush를 꼭 해줘야 작동을 하니 그점은 주의하도록 한다. 관련 내용은 여기에 있다

4. 연결 끊기

  • 작업이 끝났으면 연결을 끊어야된다.
  • 그냥 close()를 불러오면 알아서 끊어준다.

5. SFTP 사용.

  • 어찌보면 ssh를 사용하면서 편했던 것이 sftp의 사용이다. 간단한 사용방법과ssh가 설치가되어있으면 따로 ftp를 생성하지 않더라도 간단한 파일을 주고 받을 수 있도록 되어있기 때문이다.
  • 먼저 ssh로 접속한 다음, open_sftp()후 파일을 가져올때는get('localfile.py', 'remotefile.py')를 이용하고, 올려둘때는put('localfile.py', 'remotefile.py')를 사용하면된다.

참고 자료

Paramiko Homepage
Docs paramiko
SSH Programming With Paramiko | Completely Different
Paramiko: SSH and SFTP With Python

반응형
저작자표시

'IT기술 관련 > 파이썬_루비 등 언어' 카테고리의 다른 글

파이썬3 ssh모듈 paramiko 설치 및 설정  (0) 2016.09.12
[파이썬] Paramiko 설치 및 적용  (0) 2016.09.12
[python] 다른 파일에서 정의한 클래스 가져다 쓰기  (0) 2016.09.12
[wxPython] 미리 정의된 다이얼로그(Dialog)  (0) 2016.09.12
pexpect 를 이용한 ssh 접속 자동화  (0) 2016.09.12
'IT기술 관련/파이썬_루비 등 언어' 카테고리의 다른 글
  • 파이썬3 ssh모듈 paramiko 설치 및 설정
  • [파이썬] Paramiko 설치 및 적용
  • [python] 다른 파일에서 정의한 클래스 가져다 쓰기
  • [wxPython] 미리 정의된 다이얼로그(Dialog)
호레
호레
창업 / IT / 육아 / 일상 / 여행
    반응형
  • 호레
    Unique Life
    호레
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 법률
        • 기본
        • 개인정보보호법
        • 정보통신망법
        • 전자금융거래법
        • 전자금융감독규정
        • 신용정보법
        • 온라인투자연계금융업법
      • 창업
        • 외식업 관련
        • 임대업 관련
        • 유통업 관련
        • 세무 관련
        • 마케팅 관련
        • 기타 지식
        • 트렌드
        • Youtube
      • IT기술 관련
        • 모바일
        • 윈도우
        • 리눅스
        • MAC OS
        • 네트워크
        • 빅데이터 관련
        • A.I 인공지능
        • 파이썬_루비 등 언어
        • 쿠버네티스
        • 기타 기술
      • 퍼블릭 클라우드 관련
        • Azure
        • GCP
        • AWS
      • 정보보안 관련
        • QRadar
        • Splunk
        • System
        • Web
      • 기타
        • 세상 모든 정보
        • 서적
      • 게임 관련
        • 유니티
      • 부동산
      • 맛집 찾기
        • 강남역
        • 양재역
        • 판교역
        • ★★★★★
        • ★★★★
        • ★★★
        • ★★
        • ★
      • 결혼_육아 생활
        • 리얼후기
        • 일상
        • 육아
        • 사랑
        • Food
      • 영어
        • 스피킹
        • 문법
        • 팝송
        • 영화
      • K-컨텐츠
        • 드라마
        • 영화
        • 예능
      • 독서
      • 프로젝트 관련 조사
        • 시스템 구축
        • 로그 관련
        • 웹
        • APT
        • 모의 해킹
        • DB
        • 허니팟
        • 수리카타
        • 알고리즘
        • FDS
      • 기업별 구내 식당 평가
        • 한국관광공사
        • KT telecop
        • KT M&S
        • KT powertel
        • KT cs 연수원
        • 진에어
      • 대학 생활
        • 위드윈연구소
        • 진로 고민
        • 채용정보
        • 자동차
        • 주식
        • 악성코드
        • 게임 보안
      • 쉐어하우스
  • 블로그 메뉴

    • 홈
    • 게임 관련
    • IT 기술 관련
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    맛집
    돈까스
    점심
    런치
    상호관세
    마케팅
    판교맛집
    무역전쟁
    이재곧죽습니다
    유니티
    AWS
    복리후생
    판교역
    수제버거맛집
    보안가이드
    쥬쥬랜드
    대통령
    수제버거
    수제버거존맛
    판교
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
호레
[Python] paramiko
상단으로

티스토리툴바