[python] Fabric으로 SSH 연결하기

Fabric은 파이썬 기반의 오픈 소스 라이브러리로, SSH를 사용하여 원격 서버에 명령을 실행하는 작업을 자동화할 수 있습니다. 이번 블로그 포스트에서는 Fabric을 사용하여 SSH 연결하는 방법에 대해 알아보겠습니다.

1. Fabric 설치하기

Fabric은 pip 명령을 사용하여 간단하게 설치할 수 있습니다.

pip install fabric

2. Fabric을 사용하여 SSH 연결하기

Fabric을 사용하여 SSH 연결하기 위해서는 먼저 Connection 객체를 생성해야 합니다. Connection 객체는 SSH 연결을 나타내며, 원격 서버에 대한 정보를 갖고 있습니다.

from fabric import Connection

# 원격 서버에 대한 정보 설정
host = 'your_host'
user = 'your_username'
password = 'your_password'

# Connection 객체 생성
conn = Connection(host=host, user=user, connect_kwargs={'password': password})

# 원격 서버에 명령 실행
result = conn.run('ls -al')
print(result.stdout)

위 코드에서 your_host, your_username, your_password 부분을 각각 원격 서버의 호스트, 사용자명, 비밀번호로 변경해주어야 합니다.

3. SSH 연결 시 추가 설정

Fabric으로 SSH 연결 시 사용할 수 있는 여러 가지 추가 설정 옵션이 있습니다.

3.1. 포트 번호 지정하기

원격 서버에 SSH 연결 시 사용하는 포트 번호를 지정하고 싶을 경우, port 매개변수를 사용하여 지정할 수 있습니다.

conn = Connection(host=host, user=user, connect_kwargs={'password': password, 'port': 2222})

위 코드에서 2222 부분을 사용하고자 하는 포트 번호로 변경해주면 됩니다.

3.2. 비밀번호 없이 연결하기

비밀번호 없이 SSH 연결을 하고 싶은 경우, key_filename 매개변수를 사용하여 키파일의 경로를 지정할 수 있습니다.

conn = Connection(host=host, user=user, connect_kwargs={'key_filename': '/path/to/keyfile'})

위 코드에서 '/path/to/keyfile' 부분을 사용하고자 하는 키파일의 경로로 변경해주면 됩니다.

결론

이번 블로그 포스트에서는 Fabric을 사용하여 SSH 연결하는 방법에 대해 알아보았습니다. Fabric은 편리한 API를 제공하므로, 원격 서버에 자동화된 작업을 수행해야 하는 경우 유용하게 활용할 수 있습니다. 추가적으로 Fabric의 다양한 기능과 옵션에 대해서도 학습해보시기 바랍니다.