반응형

특정 서버에 SSH로 접속하여, 원격 커맨드를 날릴 일이 있어서 이것저것 찾아보던 중,

Python에서는 paramiko라는 lib를 많이 사용한다는 걸 알았다.


설치방법은 아래와 같이 pip로 원 커맨드로 가능함.

$ pip install paramiko


테스트했던 Python버전은 3.6이었지만, Python 2.x나 그 전 버전에서도 잘 동작하는 것으로 보인다.


아래는 예제소스다. 

ssh.connect부분은 각 Case에 맞춰서 하나만 사용하면 된다.

import paramiko

def main():
    ssh = paramiko.SSHClient()

    # HostKey 저장 여부를 결정하는 옵션인데, 왠만하면 그냥 넣어주자.
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())       

    # CASE 1: 인증 시 username과 password를 사용
    ssh.connect('서버 IP', username='인증 ID', password='패스워드')  

    # CASE 2: AWS의 EC2같은 경우 password를 key_filename로 바꾸어서 파일 명을 지정할 수 있다.
    ssh.connect('서버 IP', username='인증 ID', key_filename='Key파일 위치') 

    stdin, stdout, stderr = ssh.exec_command('커맨드 입력')    
    ssh.close()
    
if __name__ == '__main__':
    main()


반응형

'개발 > Python' 카테고리의 다른 글

[Python] pyYaml을 이용한 yaml parsing  (0) 2017.02.10
[Python] asyncio  (0) 2017.02.10
[Python] requirements.txt  (0) 2017.01.31
[SMTPlib] mail loops back to me (MX problem)  (0) 2016.12.27
[Python] file read / write  (0) 2016.11.09
,