파이썬으로 ssh 터널 만들기
소개
개발은 이상한 곳에서 액세스하고 싶지 않기 위해 DB에 액세스 할 수있는 서버를 제한합니다.
액세스할 수 있는 서버를 발판이라고 합니다만, 기본적으로는 중계 지점이 될 뿐이므로 개발에 편리한 소프트웨어가 거의 들어가 있지 않습니다.
그래서 터널처럼 로컬 PC와 목적 DB까지의 통신을 발판은 통과시키는 것만으로 실제 처리는 로컬 PC에서 실시하는 ssh 터널이라는 것이 자주 사용됩니다.
ssh 클라이언트로 유명한 teraterm도 가능하지만, 업무 자동화의 일환으로 사용한 python에서의 ssh 터널의 방법을 정리합니다.
환경
sshtunnel 설치
ssh 터널을 만들려면 sshtunnel을 사용합니다.
sshtunnel의 설치는 보통 pip로 설치하면 됩니다.
pip install sshtunnel
sshtunnel 사용법
sshtunnel은 다음 절차에 사용됩니다.
pip install sshtunnel
sshtunnel은 다음 절차에 사용됩니다.
sshtunnel 설정
설정 내용
ssh 터널은 그림과 같이 발판 서버를 통해 DB에 연결하기 때문에 필요한 설정은 7개 있습니다.
설정 방법
설정 방법은 간단합니다. sshtunnel을 import하고 SSHTunnelForwarder에게 주면됩니다.
local_bind_address에서 포트를 지정하지 않으면 자동으로 비어 있는 포트가 사용됩니다. 사용된 포트를 알기 위해서는 server.local_bind_port에서 알 수 있습니다.
from sshtunnel import SSHTunnelForwarder
server = SSHTunnelForwarder((
192.168.1.0,
22
),
ssh_username='login_user,
ssh_pkey='C:\\key.pem,
remote_bind_address=(
'192.168.2.0',
5432
),
local_bind_address=(
'0.0.0.0',
400
))
ssh 터널 시작
설정 후 ssh 터널을 활성화합니다. 활성화 후 설정에서 제공한 로컬 포트에 액세스하면 발판에 바인딩한 DB에 액세스할 수 있습니다.
예를 들어 로컬 5432 포트에 대해 SQL을 실행하면 192.168.2.0의 DB에 대해 SQL이 실행됩니다.
server.start()
ssh 터널 종료
모든 처리가 끝나면 ssh 터널을 닫아 줄 필요가 있습니다.
server.stop()
결론
파이썬에서 ssh 터널을 조작하는 방법을 요약했습니다.
위를 활용하여 발판 앞의 DB로부터 정보를 취득하여 엑셀에 기재하는 프로그램을 만들었습니다.
이와 같이 마지막 엑셀 조작 과 한층 더 이전 DB 작업 를 사용하면 할 수 있는 것이 퍼집니다. .
발판에 로그인해 여러가지로 하는 것이 아니라, 자신이 쾌적하게 되도록 작성한 로컬의 환경을 최대한 이용해 테스트나 프로덕션 환경등의 작업을 최고 효율로 작업해 최대한 즐깁시다.
Reference
이 문제에 관하여(파이썬으로 ssh 터널 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mink0212/items/7a6b0278c05a9b65c85b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)