Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos PyEZ를 사용하여 Junos 디바이스에 연결

Junos PyEZ 애플리케이션에서 다른 연결 방법과 프로토콜을 사용하여 Junos 디바이스 또는 연결된 콘솔 서버에 연결합니다.

Junos PyEZ는 Junos 디바이스를 관리할 수 있게 해주는 Python용 마이크로프레임워크입니다. Junos PyEZ는 각 디바이스를 jnpr.junos.device.Device 클래스의 인스턴스로 모델링합니다. 이 Device 클래스를 사용하면 직렬 콘솔 연결, 텔넷 또는 SSH를 통한 NETCONF 세션을 사용하여 Junos 디바이스에 연결할 수 있습니다. Junos PyEZ는 콘솔 서버에 대한 텔넷 또는 SSH 연결을 통한 디바이스 연결도 지원합니다. 터미널 서버라고도 하는 콘솔 서버는 디바이스의 대역 외 관리 콘솔 포트에 대한 네트워크 연결을 제공하는 특수 디바이스입니다. 또한 Junos PyEZ를 사용하여 배스천 또는 점프 호스트와 같은 중간 디바이스를 통해 Junos 디바이스에 연결할 수 있습니다.

이 주제에서는 Junos PyEZ에서 지원하는 연결 방법에 대한 개요를 제공하고 다양한 방법을 사용하여 Junos 디바이스에 연결하는 방법을 설명합니다. Junos PyEZ 예제에서는 다양한 인증 방법을 사용하지만, 사용자 인증에 대한 자세한 내용은 Junos PyEZ 사용자 인증을 참조하십시오.

연결 방법 개요

Junos PyEZ를 사용하면 SSH를 통한 직렬 콘솔 연결, 텔넷 또는 NETCONF 세션을 사용하여 Junos 디바이스에 연결할 수 있습니다. 디바이스의 CONSOLE 포트에 물리적으로 연결되어 있을 때는 직렬 콘솔 연결을 사용해야 합니다. 텔넷 또는 SSH를 사용하여 디바이스의 관리 인터페이스 또는 디바이스의 콘솔 포트에 연결된 콘솔 서버에 연결할 수 있습니다. Junos PyEZ는 또한 요새 또는 점프 호스트를 통해 디바이스에 대한 SSH 연결을 지원합니다. 또한 Junos PyEZ는 Junos 디바이스가 클라이언트 관리 애플리케이션과의 연결을 시작하는 아웃바운드 SSH 연결을 지원합니다.

공장 기본 구성이 있는 새 디바이스 또는 제로화된 디바이스는 콘솔 연결을 통해 액세스해야 합니다. Junos PyEZ를 사용하여 원격 액세스를 위해 아직 구성되지 않은 디바이스를 처음에 구성할 수 있습니다. 디바이스에 직접 연결되어 있을 때 직렬 콘솔 연결을 사용하거나 디바이스에 연결된 콘솔 서버를 통해 텔넷 또는 SSH를 사용할 수 있습니다.

기본적으로 Junos PyEZ는 SSH를 사용하여 디바이스에 연결합니다. 다른 연결 유형을 지정하려면 인수 목록에 매개 변수 Device 를 mode 포함해야 합니다. 디바이스에 텔넷하려면 인수를 포함합니다.mode='telnet' 직렬 콘솔 연결을 사용하여 디바이스에 연결하려면 인수를 포함합니다.mode='serial' 표 1에는 Junos PyEZ 연결 방법, 특정 매개 변수에 대한 기본값 및 필요한 Junos OS 구성이 요약되어 있습니다.

표 1: Junos PyEZ 연결 모드

연결 모드

인수의 값 mode

기본 포트

필수 Junos OS 구성

SSH를 통한 NETCONF(기본값)

–

830

[edit system services]
netconf {
    ssh;
}

시리얼 콘솔 연결

직렬

/dev/ttyUSB0

–

Telnet-Junos 디바이스

텔넷

23

[edit system services]
telnet;

콘솔 서버를 통한 텔넷

텔넷

23

–

콘솔 서버를 통한 SSH

–

22

–

점프 호스트를 통한 SSH

–

22

[edit system services]
netconf {
    ssh;
}

아웃바운드 SSH

–

–

[edit system services]
outbound-ssh {     
    ...
}
참고:

SSH를 통해 Telnet 또는 NETCONF를 사용하여 디바이스의 관리 인터페이스에 액세스하려면 먼저 계층 수준에서 [edit system services] 적절한 서비스를 활성화해야 합니다. 자세한 내용은 Junos PyEZ 매니지드 노드 설정을 참조하십시오. 텔넷은 일반 텍스트 암호를 사용하므로 잠재적인 보안 취약성을 생성하므로 SSH를 사용하는 것이 좋습니다.

참고:

사용자 환경에 적합한 안전한 방식으로 자격 증명을 얻습니다. 가장 좋은 방법은 암호화되지 않은 형식으로 저장하는 대신 스크립트를 실행할 때마다 자격 증명을 묻는 메시지를 표시하는 것입니다.

Junos PyEZ는 컨텍스트 관리자(with ... as 구문)을 사용합니다. 컨텍스트 관리자를 사용할 때 Junos PyEZ는 자동으로 및 close() 메서드를 호출 open() 하여 디바이스에 연결 및 연결을 끊습니다. 컨텍스트 관리자를 사용하지 않는 경우 애플리케이션에서 and close() 메서드를 명시적으로 호출 open() 해야 합니다. 콘솔 연결에는 컨텍스트 관리자를 사용하는 것이 좋습니다. 컨텍스트 관리자는 연결 닫기를 자동으로 처리하며, 연결을 닫지 못하면 예측할 수 없는 결과가 발생할 수 있습니다.

Junos PyEZ 연결 속성 이해

Junos 디바이스에 연결하면 Junos PyEZ는 현재 연결에 대한 정보를 인스턴스의 Device 속성으로 저장합니다. 표 2 에는 사용 가능한 연결 속성이 간략하게 나와 있습니다.

표 2: 디바이스 속성

속성

유형

설명

connected

부울

연결의 현재 상태입니다. 연결되면 반환 True 됩니다.

hostname

문자열

애플리케이션이 연결된 디바이스의 호스트 이름입니다.

master

부울

애플리케이션이 연결된 라우팅 엔진이 기본 라우팅 엔진인 경우 반환 True 됩니다.

port

정수 또는 문자열

연결에 사용되는 포트입니다.

re_name

문자열

애플리케이션이 연결된 라우팅 엔진 이름입니다.

timeout

정수

RPC 시간 제한 값(초)입니다.

uptime

정수

현재 라우팅 엔진이 부팅된 이후의 시간(초) 수입니다.

user

문자열

Junos 디바이스에 액세스하는 사용자.

예를 들어 디바이스에 연결한 후 속성을 쿼리 connected 하여 현재 연결 상태를 반환할 수 있습니다. A SessionListener 는 세션을 모니터링하고 예외를 TransportError 발생시키고 속성을 로 설정 Device.connected 하여 전송 오류에 대응합니다.False

다음 샘플 코드는 Junos 디바이스에 연결한 후 세션을 닫은 후 속성 값을 connected 다시 인쇄합니다.

프로그램을 실행하면 응용 프로그램이 장치에 연결되어 있는 동안 속성이 connected 반환 True 되고 연결이 닫힌 후에 반환 False 됩니다.

SSH를 사용하여 디바이스에 연결

Junos PyEZ Device 클래스는 SSH를 사용하여 Junos 디바이스에 연결하는 것을 지원합니다. Junos PyEZ는 다음 연결을 지원합니다.

  • 디바이스의 관리 인터페이스에 직접 연결

  • 디바이스의 CONSOLE 포트에 직접 연결된 콘솔 서버를 통해 연결합니다

  • 배스천 또는 점프 호스트를 통해 연결

SSH 서버는 Junos PyEZ 사용자 인증에 설명된 대로 표준 인증 메커니즘을 사용하여 사용자를 인증할 수 있어야 합니다. SSH를 통해 NETCONF 세션을 설정하려면 Junos PyEZ 매니지드 노드 설정에 설명된 요구 사항도 충족해야 합니다.

SSH를 사용하여 디바이스에 연결할 때 Junos PyEZ는 먼저 SSH 공개 키 기반 인증을 시도한 다음 암호 기반 인증을 시도합니다. 비밀번호 기반 인증이 사용되는 경우, 제공된 비밀번호가 디바이스 비밀번호로 사용됩니다. SSH 키를 사용할 때 제공된 암호는 개인 키를 잠금 해제하기 위한 암호입니다. 키를 SSH 키 에이전트에 로드하거나 SSH 개인 키에 빈 암호가 있는 경우에는 암호를 제공할 필요가 없습니다. 그러나 빈 암호와 함께 SSH 개인 키를 사용하는 것은 권장하지 않습니다.

Junos PyEZ는 ~/.ssh/config에 있는 기본 SSH 구성 파일이 있는 경우 이를 자동으로 쿼리합니다. Junos PyEZ는 사용자 또는 ID 파일과 같은 인수로 재정의되지 Device 않는 SSH 구성 파일의 모든 관련 설정을 사용합니다. 다른 SSH 구성 파일을 ssh_config Device사용하려면 . 예를 들면 다음과 같습니다.

Junos PyEZ 릴리스 2.7.2부터 Junos PyEZ 클라이언트는 Junos 디바이스에 연결할 때 SSH 호스트 키 확인을 활성화할 수 있습니다. 클라이언트는 디바이스의 호스트 키 지문이 클라이언트의 known_hosts 파일에 있는 신뢰할 수 있는 키와 일치하는지 확인하여 원격 디바이스의 ID를 확인합니다. 제시된 호스트 키가 신뢰할 수 있는 키와 일치하지 않으면 연결이 거부됩니다. 해당하는 경우 호스트 키 검증을 사용하여 중간자 공격을 방지합니다.

기본적으로 Junos PyEZ는 SSH 호스트 키 확인을 비활성화하고 클라이언트의 known_hosts 파일에 서버의 공개 키를 등록할 필요 없이 연결을 계속할 수 있도록 허용합니다. 호스트 키 검증을 hostkey_verify=True Device활성화하려면 . 호스트 키 확인을 사용하도록 설정한 경우 디바이스에 연결하기 전에 디바이스의 호스트 키를 known_hosts 파일에 로드해야 합니다. 그렇지 않으면 연결이 실패합니다.

다음 섹션에서는 SSH를 사용하여 디바이스에 연결하는 다양한 방법에 대해 설명합니다.

디바이스에 직접 연결

Junos PyEZ를 사용하면 Junos OS를 실행하는 디바이스 또는 Junos OS Evolved를 실행하는 디바이스에 직접 연결할 수 있습니다. 개체를 Device 인스턴스화할 때 대상 디바이스의 호스트 이름 또는 IP 주소와 필요한 사용자 자격 증명을 제공합니다.

Junos PyEZ 클라이언트가 구성 관리 서버(CMS)에서 특정 로컬 소스 IP 주소를 사용하여 연결을 설정해야 하는 경우 주소를 지정하는 인수를 포함 bind_addr 할 수 있습니다. 예를 들어 CMS가 여러 네트워크 인터페이스와 IP 주소를 사용하고 네트워크 디바이스에서 주소의 하위 집합만 연결할 수 있는 경우 연결을 위한 로컬 소스 주소를 설정해야 할 수 있습니다.

Junos 디바이스와 SSH를 통해 NETCONF 세션을 설정하고 디바이스 팩트를 인쇄하는 Junos PyEZ 애플리케이션을 생성하려면 다음을 수행합니다.

  1. 작업에 필요한 클래스 및 기타 모듈 또는 객체를 가져옵니다 Device .

  2. 디바이스 인스턴스를 생성하고 호스트 이름, 인증에 필요한 매개 변수 및 선택적 매개 변수를 제공합니다.

  3. (선택 사항) Junos 디바이스가 기본값(830) 이외의 포트에서 NETCONF를 구성하는 경우 인수를 포함 port 하고 포트를 지정합니다.

  4. (선택 사항) 연결을 설정하는 데 사용해야 하는 로컬 소스 주소를 지정해야 하는 경우 인수를 포함 bind_addr 하고 사용할 IP 주소를 지정합니다.

  5. 예를 들어 다음과 같은 메서드를 호출하여 open() 디바이스에 연결합니다.

  6. 장치 팩트를 인쇄합니다.

  7. 필요한 작업을 수행한 후 장치에 대한 연결을 닫습니다.

샘플 프로그램 전체(선택적 매개 변수 생략)는 다음과 같습니다.

또는 디바이스에 연결할 때 컨텍스트 관리자를 사용할 수 있습니다. 컨텍스트 관리자는 자동으로 및 close() 메서드를 호출합니다open(). 예를 들면 다음과 같습니다.

콘솔 서버를 통해 디바이스에 연결

Junos PyEZ 클라이언트는 콘솔 서버에 대한 SSH 연결을 통해 Junos 디바이스에 연결할 수 있습니다. 이 경우 콘솔 서버와 Junos 디바이스 모두에 대한 로그인 자격 증명을 지정해야 합니다. Device 인수 목록에서 and cs_passwd 인수에 cs_user 콘솔 서버 자격 증명을 포함합니다. SSH 키를 사용하는 경우 인수를 개인 키의 암호가 포함된 변수로 설정합니다cs_passwd. 또한 해당하는 경우 TTY 디바이스에 매핑되는 TCP 포트에 인수를 설정합니다port.

콘솔 서버는 직렬 연결을 통해 Junos 디바이스에 연결되며, 이는 느릴 수 있습니다. 콘솔 서버를 통한 Junos PyEZ 연결의 기본 연결 시간 제한 값은 0.5초입니다. 클라이언트 애플리케이션이 연결을 설정할 수 있는 충분한 시간을 허용하려면 인수를 포함하여 연결 제한시간 간격을 늘려야 할 수 있습니다.timeout=seconds

다음 Junos PyEZ 예제는 콘솔 서버로 인증한 다음 Junos 디바이스로 인증합니다. 연결 시간 초과는 클라이언트가 연결을 설정하는 데 충분한 시간을 갖도록 6초로 설정됩니다.

배스천 또는 점프 호스트를 통해 디바이스에 연결

Junos PyEZ를 사용하면 중간 호스트(배스천 또는 점프 호스트)를 통해 대상 디바이스에 액세스할 수 있습니다. 대상 디바이스에 직접 로그인할 수 없는 경우 배스천 또는 점프 호스트를 사용해야 할 수 있습니다. 예를 들어 디바이스가 방화벽 뒤에 있을 수 있습니다.

SSH를 사용하여 중간 디바이스를 통해 연결하려면 다음 옵션 중 하나를 사용할 수 있습니다.

  • SSH 구성 파일에서 대상 디바이스에 대한 항목을 추가하고 ProxyCommand 옵션을 지정합니다.

  • Device 인수 목록에 매개 변수를 포함합니다proxy_command.

인수는 Device proxy_command SSH 구성 파일에서 ProxyCommand 옵션보다 우선합니다. 두 옵션을 모두 구성하면 Junos PyEZ는 인수만 사용합니다. proxy_command 다음 섹션에서는 각 옵션을 사용하는 방법에 대한 세부 정보를 제공합니다.

예: SSH 구성 파일에서 ProxyCommand 사용

SSH 구성 파일에서 배스천 또는 점프 호스트를 구성하려면 Junos 호스트에 대한 항목을 추가하고 ProxyCommand 옵션을 포함합니다. ProxyCommand 문자열은 중간 디바이스에 대한 연결을 정의합니다. 예를 들어 다음 구성은 netcat을 지원하는 중간 호스트를 통해 연결됩니다.

마찬가지로, 다음 구성은 중간 디바이스를 통해 저소음 모드의 대상 호스트 및 포트에 연결하여 경고를 억제합니다.

예: Device proxy_command 인수 사용

정의할 때 Device중간 디바이스를 통해 연결하는 인수를 포함 proxy_command 할 수 있습니다. 문자열은 proxy_command 배스천 또는 점프 호스트에 대한 연결을 정의합니다. 필요한 경우 Junos PyEZ는 점프 호스트의 암호 또는 SSH 개인 키 암호를 묻는 메시지를 표시합니다.

다음 예제는 점프 호스트를 통해 Junos 디바이스에 연결합니다. 이 예에서 Junos PyEZ는 SSH 키 에이전트에 로드된 암호로 보호된 SSH 키를 사용하여 각 디바이스에서 인증합니다.

SSH 키 에이전트에서 점프 호스트 및 네트워크 디바이스에 대한 SSH 키를 로드하는 경우 Junos PyEZ 애플리케이션에서 개인 키 경로 또는 암호를 제공할 필요가 없습니다. 그러나 필요한 키를 SSH 키 에이전트에 로드하지 않는 경우 기본이 아닌 위치에 있는 암호로 보호된 키에 대한 경로와 암호를 제공해야 합니다. ssh_private_key_file and password 인수는 Junos 디바이스로 인증하는 데 사용되는 개인 키의 경로와 암호를 지정합니다. 인수에서 proxy_command 옵션을 사용하여 -i path 점프 호스트로 인증하는 데 사용되는 비공개 키의 경로를 지정합니다. 스크립트를 실행하면 Junos PyEZ는 해당 개인 키 암호를 입력하라는 메시지를 표시합니다. 예를 들면 다음과 같습니다.

스크립트를 실행하면 스크립트에서 개인 키의 암호를 입력하라는 메시지가 표시됩니다.

아웃바운드 SSH를 사용하여 디바이스에 연결

클라이언트가 연결을 시작하려고 시도할 경우(예: 디바이스가 방화벽 뒤에 있는 경우) 차단되는 클라이언트 관리 애플리케이션과의 TCP/IP 연결을 시작하도록 Junos 디바이스를 구성할 수 있습니다. 이 구성은 outbound-ssh 디바이스가 클라이언트 관리 애플리케이션과 TCP/IP 연결을 만들고 디바이스의 ID를 전달하도록 지시합니다. 연결이 설정되면 관리 애플리케이션은 클라이언트 역할을 하고 SSH 시퀀스를 시작하며, Junos 디바이스는 서버 역할을 하며 클라이언트를 인증합니다.

참고:

Junos 디바이스에서 아웃바운드 SSH를 구성하고 커밋하면 디바이스는 커밋된 구성을 기반으로 아웃바운드 SSH 연결을 시작합니다. 디바이스는 성공할 때까지 이 연결을 반복적으로 시도합니다. 디바이스와 클라이언트 관리 애플리케이션 간의 연결이 끊어지면 디바이스는 성공할 때까지 새 아웃바운드 SSH 연결을 다시 생성하려고 시도합니다. 이 연결은 아웃바운드 SSH 구성이 삭제되거나 비활성화될 때까지 유지됩니다.

아웃바운드 SSH 연결을 위해 Junos 디바이스를 구성하려면 계층 수준에서 [edit system services] 문을 포함 outbound-ssh 합니다. 다음 예에서 Junos 디바이스는 포트 2200의 198.51.100.101에 있는 호스트와의 연결을 시작하려고 시도합니다.

아웃바운드 SSH를 사용하여 Junos 디바이스와의 연결을 설정하기 위해 Junos PyEZ 애플리케이션은 생성자의 인수를 Device 기존 소켓의 파일 설명자와 동일하게 설정 sock_fd 하고 인수를 생략 host 하거나 로 설정합니다.None

다음 Junos PyEZ 예제는 구성된 TCP 포트에서 Junos 디바이스에서 들어오는 SSH 세션을 수신합니다. 애플리케이션은 들어오는 연결을 수락하고 인수 값에 사용되는 해당 연결에 대한 소켓의 파일 설명자를 검색합니다 sock_fd . 클라이언트 애플리케이션은 디바이스와의 SSH 연결을 설정하고, 디바이스 팩트를 수집 및 출력하고, 디바이스와의 연결을 끊고 추가 연결을 기다립니다.

Junos 디바이스에서 아웃바운드 SSH를 구성하는 방법에 대한 자세한 내용은 아웃바운드 SSH 서비스 구성을 참조하십시오.

텔넷을 사용하여 디바이스에 연결

Junos PyEZ Device 클래스는 네트워크 디바이스에 대한 암호화되지 않은 액세스를 제공하는 텔넷을 사용하여 Junos 디바이스에 연결하는 것을 지원합니다. 디바이스의 관리 인터페이스 또는 디바이스의 CONSOLE 포트에 직접 연결된 콘솔 서버에 텔넷을 연결할 수 있습니다. 관리 인터페이스에 액세스해야 하는 모든 디바이스의 계층 수준에서 [edit system services] 문을 구성 telnet 해야 합니다. 콘솔 서버를 통해 디바이스에 액세스하면 원격 액세스를 위해 아직 구성되지 않은 새 디바이스 또는 제로화된 디바이스를 처음에 구성할 수 있습니다.

Junos PyEZ를 사용하여 Junos 디바이스에 텔넷하려면 인수 목록에 포함 mode='telnet' Device 해야 하며 선택적으로 포트를 지정하는 매개 변수를 port 포함해야 합니다. 매개 변수를 port 지정 mode='telnet' 하지만 생략하면 값의 port 기본값은 23입니다. 애플리케이션이 콘솔 서버를 통해 연결되면 콘솔 서버가 Junos 디바이스에 연결하는 포트를 지정합니다.

Junos PyEZ를 사용하여 Junos 디바이스에 텔넷을 연결하고 디바이스 팩트를 인쇄하려면:

  1. 작업에 필요한 클래스 및 기타 모듈 또는 객체를 가져옵니다 Device .
  2. 인수를 사용하여 mode='telnet' 디바이스 인스턴스를 생성하고, 기본값과 다른 경우 연결 포트를 지정하고, 호스트 이름, 인증에 필요한 매개 변수 및 선택적 매개 변수를 제공합니다.
  3. 메서드를 호출하여 디바이스에 연결합니다.open()
  4. 장치 팩트를 인쇄합니다.
  5. 필요한 작업을 수행한 후 장치에 대한 연결을 닫습니다.

샘플 프로그램 전체가 여기에 나와 있습니다.

또는 디바이스에 연결할 때 연결 열기 및 닫기를 처리하는 컨텍스트 관리자를 사용할 수 있습니다. 예를 들면 다음과 같습니다.

경우에 따라 배너 메시지를 내보내는 콘솔 서버에 연결할 때 로그인 프롬프트에 도달하려면 메시지 뒤에 Enter 키를 눌러야 할 수 있습니다. 이 경우 애플리케이션이 로그인 프롬프트를 수신하지 못하여 연결이 중단될 수 있습니다.

Junos PyEZ 릴리스 2.6.2부터 Junos PyEZ는 콘솔 서버 배너를 자동으로 처리합니다. Junos PyEZ 릴리스 2.1.0부터 2.6.1까지, Junos PyEZ 애플리케이션은 배너 메시지를 내보내는 콘솔 서버를 처리하기 위해 인수 목록에 포함 console_has_banner=True Device 할 수 있습니다.

인수를 포함 console_has_banner=True 할 때 애플리케이션이 초기 연결 시 로그인 프롬프트를 수신하지 않으면 애플리케이션은 5초 동안 대기합니다. 그런 다음 애플리케이션은 콘솔 서버가 로그인 프롬프트를 발행하도록 개행(\n) 문자를 내보냅니다. 인수를 생략하고 연결이 중단되면 애플리케이션은 대신 RPC를 <close-session/> 내보내 연결을 종료합니다.

직렬 콘솔 연결을 사용하여 디바이스에 연결

Junos PyEZ Device 클래스를 사용하면 직렬 콘솔 연결을 사용하여 Junos 디바이스에 연결할 수 있습니다. 직렬 콘솔 연결은 원격 액세스를 위해 아직 구성되지 않은 새 디바이스 또는 영점화된 디바이스를 처음에 구성해야 할 때 유용합니다. 이 연결 방법을 사용하려면 CONSOLE 포트를 통해 디바이스에 물리적으로 연결되어 있어야 합니다. 디바이스의 CONSOLE 포트 연결에 대한 자세한 지침은 해당 디바이스의 하드웨어 설명서를 참조하십시오.

참고:

Junos PyEZ는 직렬 콘솔 연결을 위한 컨텍스트 관리자 사용을 지원합니다. 컨텍스트 관리자는 연결 열기 및 닫기를 자동으로 처리하므로 콘솔 연결에는 컨텍스트 관리자를 사용하는 것이 좋습니다. 연결을 닫지 못하면 예측할 수 없는 결과가 발생할 수 있습니다.

Junos PyEZ를 사용하여 직렬 콘솔 연결을 통해 Junos 디바이스에 연결하려면 인수 목록에 포함 mode='serial' Device 해야 합니다. 선택적으로 매개 변수를 port 포함하여 포트를 지정할 수 있습니다. 매개 변수를 port 지정 mode='serial' 하지만 생략하면 기본값 port 은 /dev/ttyUSB0.

Junos PyEZ를 사용하여 직렬 콘솔 연결을 사용하여 Junos 디바이스에 연결하고 구성을 로드 및 커밋하려면 다음을 수행합니다.

  1. 작업에 필요한 클래스 및 기타 모듈 또는 객체를 가져옵니다 Device .
  2. 인수를 사용하여 mode='serial' 디바이스 인스턴스를 생성하고 기본값과 다른 경우 연결 포트를 지정합니다. 인증에 필요한 매개 변수와 선택적 매개 변수를 제공합니다.
    참고:

    Junos OS를 실행하는 모든 플랫폼에는 기본적으로 암호 없이 루트 사용자만 구성됩니다. 새 디바이스 또는 제로화된 디바이스의 경우 매개 변수를 passwd 사용하고 user='root' 생략합니다.

  3. 디바이스에서 구성을 로드하고 커밋합니다.
  4. 필요한 오류 처리를 포함합니다.

샘플 프로그램 전체가 여기에 나와 있습니다.