paramiko를 통해 로컬 포트를 원격 또는 사설 호스트의 서비스로 포워딩하는 SSH 터널용 Python 라이브러리 및 CLI입니다.
ktbyers/netmiko
여러 벤더의 네트워크 장비에 SSH CLI로 간편하게 연결해 show 명령을 실행하고 설정을 변경하는 Python 라이브러리입니다.
- 스타
- 4,319
- 포크
- 1,393
- 열린 이슈
- 60
- 마지막 커밋
- 8일 전
어떤 프로젝트인가요?
Netmiko는 Paramiko를 기반으로 만든 Python 라이브러리로, SSH를 통해 네트워크 장비에 연결하고 CLI와 상호작용하는 과정을 간편하게 해줍니다. 네트워크 자동화에서는 show 명령의 출력을 수집하거나 설정 변경을 적용하는 일이 잦은데, Netmiko는 다양한 장비 플랫폼에서 이러한 작업을 처리합니다.
벤더마다 저수준 프롬프트 처리와 정규식 매칭을 직접 작성하는 대신, 사용자는 cisco_ios 같은 device_type이 포함된 장비 딕셔너리를 전달하고 send_command나 send_config_set 같은 메서드를 호출하면 됩니다. 라이브러리가 설정 모드 진입과 프롬프트 대기를 처리합니다. 연결을 컨텍스트 매니저로 사용하면 세션을 안정적으로 종료할 수 있습니다.
이 프로젝트는 Python 3.11 이상을 지원하며 pip으로 설치할 수 있습니다. 지원 플랫폼은 프로젝트의 PLATFORMS 문서에 나와 있고, 예제와 API 문서도 코드와 함께 제공됩니다.
핵심 기능
- 01네트워크 장비에 show 명령을 전송하고 결과를 반환합니다.
- 02설정 변경을 적용하고 자동으로 설정 모드에 진입합니다.
- 03device_type으로 선택하는 다양한 네트워크 벤더 플랫폼을 지원합니다.
- 04컨텍스트 매니저로 사용할 수 있어 SSH 세션을 항상 종료합니다.
- 05기반 SSH 전송 계층에 Paramiko를 사용합니다.
활용 사례
- 여러 스위치와 라우터에서 인터페이스 또는 라우팅 상태를 수집합니다.
- 네트워크 장비 전반의 반복적인 설정 변경을 자동화합니다.
- 장비 출력을 읽어 네트워크 감사 또는 규정 준수 스크립트를 작성합니다.
빠른 시작
- 1
pip으로 Netmiko를 설치합니다
pip install netmiko - 2
장치 딕셔너리를 만들고 ConnectHandler로 SSH 연결을 엽니다
- 3
send_command로 show 명령을 실행합니다
사용 전 알아둘 점
- Python 3.11 이상이 필요합니다. Python 3.10 이하는 더 이상 지원되지 않습니다.
- SSH를 통한 CLI 화면 스크래핑에 초점을 맞추므로 API나 CLI 이외의 관리 방식에는 적합하지 않습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- netmiko은(는) 무엇인가요?
- 여러 벤더의 네트워크 장비에 SSH CLI로 간편하게 연결해 show 명령을 실행하고 설정을 변경하는 Python 라이브러리입니다. Netmiko는 Paramiko를 기반으로 만든 Python 라이브러리로, SSH를 통해 네트워크 장비에 연결하고 CLI와 상호작용하는 과정을 간편하게 해줍니다. 네트워크 자동화에서는 show 명령의 출력을 수집하거나 설정 변경을 적용하는 일이 잦은데, Netmiko는 다양한 장비 플랫폼에서 이러한 작업을 처리합니다.
- netmiko은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- netmiko은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- netmiko은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. netmiko의 마지막 커밋은 2026년 10월 30일입니다.
- netmiko은(는) 어디에 사용할 수 있나요?
- 여러 스위치와 라우터에서 인터페이스 또는 라우팅 상태를 수집합니다. 네트워크 장비 전반의 반복적인 설정 변경을 자동화합니다. 장비 출력을 읽어 네트워크 감사 또는 규정 준수 스크립트를 작성합니다.
- netmiko는 어떻게 설치하나요?
- pip으로 Netmiko를 설치합니다: pip install netmiko 장치 딕셔너리를 만들고 ConnectHandler로 SSH 연결을 엽니다 send_command로 show 명령을 실행합니다
- netmiko은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/ktbyers/netmiko
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Tailscale 계정이나 제어 플레인 없이 WireGuard 데이터 플레인으로 두 기기를 연결하는 netcat 스타일 CLI 및 Go 라이브러리
TOML 설정으로 포트 포워딩을 정의하고 열고 닫을 수 있는 Go 기반 CLI SSH 터널 관리자입니다.
네트워크 인프라를 모델링하고 문서화하는 오픈소스 단일 진실 공급원 웹 애플리케이션으로, 자동화를 위한 REST 및 GraphQL API를 제공합니다.
Python 프로그램에 SSHv2 클라이언트와 서버 기능을 제공하는 순수 Python 구현입니다.
SFTP를 통해 원격 파일 시스템을 마운트해 SSH 서버의 파일을 로컬 폴더처럼 탐색하고 편집할 수 있는 FUSE 기반 클라이언트입니다.