리눅스에서 파이썬 paramiko 설치 방법

python 라이브러리 설치 관련한 질문입니다.

안녕하세요 파이썬 라이브러리 설치 관련하여 질문이 있어서 문의드립니다.

제가 windhow에서 ssh를 통해서 간단한 command를 전달하고 싶어서
paramiko ( //www.lag.net/paramiko/ ) 라는 라이브러리를 설치하려고 보니까
리눅스에서 설치하는 방법 ( //lugh.tistory.com/37 <- 이거 리눅스에서 이렇게 설치한단 얘기 맞죠? )
만 검색되고 window installer는 //wiki.bazaar.canonical.com/WindowsInstall 에 설치파일이 있긴 한데 접속이 안되네요.

만약에 저 window installer가 접속이 안되면 window 설치는 못 하는 건가요?
아니면 paramiko 사이트의 압축파일로 window에서도 설치가 가능한건가요?

아시는 분들 도와주세요.

python paramiko

paramiko를 윈도우즈에 설치하는 방법입니다.

  1. pycrypto 설치: 아래 URL에서 자신의 버전에 맞는 것을 다운로드 하여 설치하세요.

    • //www.voidspace.org.uk/python/modules.shtml#pycrypto
  2. paramiko 설치:

    c:\python27\scripts\pip install paramiko

만약 pip.exe 가 위 scritps폴더에 없다면 아래 URL을 참조하시어 pip.exe를 설치하시면 됩니다. pip.exe는 파이썬 라이브러리를 설치하는데 상당히 유용한 프로그램이므로 설치해 놓는게 좋습니다.

윈도우즈에 pip 설치 - //stackoverflow.com/questions/4750806/how-to-install-pip-on-windows

도움이 되셨기를 바랍니다.

정말 감사합니다. 그런데 지금까지 설치해본 파이썬 모듈들은 window installer를 배포했어서 설치에 어려움이 없었는데 이번에는 설치하는데 많이 헤멨어요 ㅠㅠ 사실 알려주신 링크를 참고해서 pip를 설치했는데 pip install paramiko를 실행하니까 //pypi.python.org/simple/ 에서 다운 안된다는 에러가 뜨더라고요. (분명히 접속되는데ㅠㅠ) 결국 저는 //stackoverflow.com/questions/2964658/installing-paramiko-on-windows 에서 답변중에 minGW 설치하라는거 보고 따라서 이렇게 저렇게 해보다가 결국 되긴 되었습니다. 그런데 왜 안되었었고 왜 된건지 잘 모르겠어요. easy_install 편하게 해준다고 activepython이라는 것도 설치했는데 왜 했는지도 모르겠고 ^^ 아무튼 도와주신 덕분에 ssh 통해서 접속하고 간단한 command 실행하는것도 테스트해봤습니다. 윈도우에 파이썬 모듈 설치 좀 어렵네요. 이번에 혼쭐났습니다 - LeeSehyun, 2012/02/23 11:21 M D

네, 순수 파이썬 모듈인 경우는 윈도우던 유닉스던 잘 설치되지만 c로 만들어진 모듈인 경우 윈도우즈에서는 컴파일 관련한 오류가 많이 발생합니다. 그래서 이미 컴파일된 버전들을 찾아서 보통 설치하곤 합니다. ^^ - pahkey, 2012/02/23 13:44 M D

한가지 더 궁금한게 생겼습니다! 제가 paramiko 라이브러리를 이용해서 만든 파이썬 스크립트를 배포하려면 paramiko 라이브러리가 설치되어 있는 환경에서만 제가 배포한 스크립트를 사용할 수 있는건가요? 그렇다면 그건 좀 슬픈 스토리 ㅠㅠ - LeeSehyun, 2012/02/24 19:18 M D

네 paramiko 라이브러리가 설치되어 있는 환경에서만 실행이 되는 슬픈 스토리가 맞습니다. 유닉스 환경이라면 pip을 이용해서 설치하게 되면 필요한 모듈을 모두 함께 다운로드 받기 때문에 부담이 없습니다. 다만 윈도우즈 같은 경우 c모듈인 경우 컴파일 에러가 날 수 있는데,, py2exe 같은 것으로 아예 바이너리로 만들어서 배포하는 방법도 있습니다. (py2exe로 제작하면 크기가 매우 커지는 단점이 있습니다.) - pahkey, 2012/02/25 19:17 M D

풀이 작성

※ 풀이작성 안내

  • 본문에 코드를 삽입할 경우 에디터 우측 상단의 "코드삽입" 버튼을 이용 해 주세요.
  • 마크다운 문법으로 본문을 작성 해 주세요.
  • 풀이를 읽는 사람들을 위하여 풀이에 대한 설명도 부탁드려요. (아이디어나 사용한 알고리즘 또는 참고한 자료등)
  • 작성한 풀이는 다른 사람(빨간띠 이상)에 의해서 내용이 개선될 수 있습니다.

PC 에서 리눅스 서버에 원격으로 명령어를 실행하도록 자동화하는 방법으로

파이썬 이용자는 paramiko 라는 라이브러리를 이용하실 수 있습니다.

설치 방법은

pip install paramiko

통해 설치하거나 최신버전 아나콘다 파키지를 설치하면 포함되어 있는 것으로 확인 됩니다.

테스트 용 리눅스 서버는 라즈베리파이를 이용하였습니다.

라즈베리파이

(오랜만에 연결하다보니 패스워드가 가물가물하여 고생함 ... ㅜ)

PuTTy로 접속한 화면입니다.

이제 paramiko 코드를 적용해 보도록 합니다.

invoke_shell 을 통해 interactive shell 방식으로 명령어를 실행 합니다.

df 명령어 실행 결과입니다.

예상과 같이 실행이 잘 되는 것을 볼 수 있었습니다.

하지만 단발성 실행 방식과 달리 결과가 정렬되어 나오는 것에 손이 많이 갈 것으로 보여지며

실행 시간이 긴 작업에도 문제가 없는지 테스트가 필요할 것으로 예상 됩니다.

그것은 다음에 꼭 다뤄보도록 하겠습니다 !

관리 해야 하는 리눅스 서버들이 늘어남에 따라 매일 특정 명령어를 통해서 서버 상태를 확인해야 하는데,
10대 정도 되는 리눅스 서버들을 매일 들어가기도 귀찮고, 비밀번호도 3개월 주기마다 바뀌는데 특수문자 대문자 포함이 되서 한번 들어가기 힘들어서 파이썬으로 Paramiko를 통해서 ssh 원격 접속하여 특정 명령어 결과를 텍스트 파일로 출력하는 프로그램을 개발하였습니다.

1.Paramiko 설치

저는 파이참을 쓰고 있어서, 설정 -> 프로젝트:프로젝트 이름 -> Python 인터프리터 -> + 클릭후 -> Paramiko를 설치하시면 됩니다.

2. 소소코드

import paramiko import sys try: myinfo = ["IP", "IP"] myinfo1 = ["password", "password1"] for i in range(0, 2): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy) ssh.connect(myinfo[i], username="root", password=myinfo1[i]) stdin, stdout, stderr = ssh.exec_command("hostname && df -h") lines = stdout.readlines() f = open('liunxmount.txt','a') print("=" * 50, file=f) for j in lines: re = str(j).replace('\n', '') print(re, file=f) ssh.close() print("=" * 50, file=f) except Exception as err: print(err) f.close()

간단하게 설명해 드리지만, 배열에 해당 IP, 비밀번호를 넣고 for 문을 통해서 배열에 있는 값을 하나씩 가지고 와서
ssh 접속 후 서버의 hostname 과 df -h 명령어를 실행시키고 그 결괏값을 liunxmount.txt 파일에 저장합니다.
참고로, open(`liunxmount.txt`, `a`) 에서 a 부분은 텍스트 파일을 재 성성하지 않고, 계속 추가한다는 의미입니다.

Toplist

최신 우편물

태그