이 페이지 내용
NETCONF 콜홈 세션
NETCONF Call Home을 통해 NETCONF 서버는 NETCONF 클라이언트에 대한 보안 연결을 시작할 수 있습니다. 그러면 NETCONF 클라이언트는 서버와 SSH 세션 및 NETCONF 세션을 설정할 수 있습니다.
NETCONF Call Home을 사용하면 클라이언트가 네트워크 디바이스에 연결을 시작할 수 없는 경우 NETCONF 클라이언트가 Junos 디바이스를 원격으로 관리할 수 있습니다. NETCONF 서버 역할을 하는 Junos 디바이스는 사전 정의된 NETCONF 클라이언트 세트에 대한 보안 연결을 시작하고 유지합니다. 다음 섹션에서는 NETCONF Call Home 기능에 대해 설명합니다.
NETCONF 콜홈 이해하기
NETCONF Call Home 개요
SSH를 통한 일반적인 NETCONF 세션의 경우, NETCONF 클라이언트는 먼저 NETCONF 서버 역할을 하는 Junos 디바이스에 TCP 연결을 시작합니다. 그런 다음 클라이언트는 SSH 세션을 시작한 다음 NETCONF 세션을 시작합니다. NETCONF 콜홈 시나리오에서는 TCP 서버 및 클라이언트의 역할이 뒤바뀝니다. NETCONF 서버는 NETCONF 클라이언트에 대한 TCP 연결을 시작합니다. 연결이 설정된 후, NETCONF 클라이언트는 SSH 세션 및 NETCONF 세션을 정상적으로 시작합니다.
NETCONF Call Home을 사용하면 다른 방법으로는 액세스할 수 없는 Junos 디바이스를 원격으로 관리할 수 있습니다. 예를 들어 디바이스가 방화벽 뒤에 있고 방화벽 또는 다른 보안 도구가 디바이스에 대한 관리 액세스를 제한하거나 네트워크 주소 변환(NAT)를 구현하는 경우 이러한 상황이 발생할 수 있습니다. 이러한 경우, NETCONF 클라이언트가 Junos 디바이스와의 연결을 시작하지 못할 수 있습니다. 그러나 Junos 디바이스를 구성하여 사전 정의된 네트워크 관리 시스템 세트와의 연결을 시작, 설정 및 유지할 수 있습니다.
NETCONF Call Home은 다음과 같은 시나리오에서 사용할 수 있습니다.
-
최초 배포
-
일반 장치 관리
그림 1 은 콜 홈 시퀀스를 간략하게 보여줍니다. NETCONF 콜홈 시나리오에서 네트워크 관리 시스템(NMS)은 TCP 서버이고 Junos 디바이스는 TCP 클라이언트입니다. 지정된 포트에서 연결 요청을 수신하도록 TCP 서버를 구성합니다. NETCONF Call Home 표준 포트는 4334이지만, 다른 서비스와 충돌하지 않는 유효한 포트 번호를 구성할 수 있습니다. 지정된 포트에서 하나 이상의 사전 정의된 네트워크 관리 시스템에 연결하도록 Junos 디바이스를 구성합니다. 디바이스가 TCP 연결을 설정한 후 NMS는 SSH 클라이언트 및 NETCONF 클라이언트로서의 역할을 맡습니다.

NETCONF 클라이언트는 TCP 연결을 통해 SSH 세션을 시작합니다. SSH 세션 설정 동안 NETCONF 클라이언트는 서버가 제시한 호스트 키 또는 인증서를 검증하여 서버를 인증해야 합니다. NETCONF 서버도 클라이언트를 인증해야 합니다. 클라이언트는 서버에서 지원하는 모든 SSH 인증 방법을 선택할 수 있습니다. 서버는 먼저 인증서 기반 인증을 확인한 다음 키 기반 인증을 확인하고 마지막으로 암호 기반 인증을 확인합니다.
사용자 및 호스트에 대해 SSH 인증서 기반 인증을 사용하는 것이 좋습니다. 인증서 기반 인증을 사용하면 사용자가 암호 없이 로그인할 수 있도록 디바이스에 대한 SSH 액세스를 설정할 수 있으며 키 지문을 확인하지 않고도 호스트를 신뢰할 수 있는 기능을 갖게 됩니다. 또한 지정된 인증서가 유효한 기간을 정의할 수 있습니다. 인증서 기반 인증의 경우 서버와 클라이언트가 각각 SSH 인증서를 보냅니다. 서버의 인증서를 확인하는 CA 공개 키를 사용하여 클라이언트를 구성해야 합니다. 마찬가지로 클라이언트의 인증서를 확인하는 CA 공개 키를 사용하여 서버를 구성해야 합니다.
NETCONF 콜홈에 대한 자세한 내용은 RFC 8071, NETCONF 콜홈 및 RESTCONF 콜홈을 참조하십시오.
NETCONF Call Home의 이점
-
NETCONF Call Home은 디바이스의 초기 구축을 간소화할 수 있습니다.
-
인증서 기반 인증을 사용하는 NETCONF Call Home은 인증 키의 관리 및 확장을 간소화하고 기존의 암호 기반 접근 방식에 비해 더 강력한 보안을 제공할 수 있습니다.
NETCONF 콜홈 설정 방법
NETCONF 콜홈을 구성하려면 다음 섹션에 설명된 단계를 수행하십시오.
Junos 사용자 계정 구성
모든 SSH 인증 방법의 경우, NETCONF 클라이언트는 NETCONF 세션을 설정하는 각 디바이스에서 로컬 사용자 계정 또는 사용자 템플릿 계정이 필요합니다.
로컬 사용자 템플릿 계정을 생성하려면 다음을 수행합니다.
user
계층 수준에서[edit system login]
문을 구성하고 사용자 이름을 지정합니다.class
문을 포함하고 사용자가 모든 작업을 수행하는 데 필요한 권한이 있는 로그인 클래스를 지정합니다.[edit system login] user@host# set user username class class-name
구성을 커밋합니다
[edit] user@host# commit
클라이언트 애플리케이션이 NETCONF 세션을 설정하는 각 Junos 디바이스에서 앞의 단계를 반복합니다.
SSH 인증 구성
SSH 세션 설정 동안 NETCONF 클라이언트는 서버가 제시한 호스트 키 또는 인증서를 검증하여 서버를 인증합니다. 마찬가지로 NETCONF 서버도 클라이언트를 인증합니다. 서버는 먼저 인증서 기반 인증을 확인한 다음 키 기반 인증을 확인하고 마지막으로 암호 기반 인증을 확인합니다. 어떤 인증 방법을 선택하든 서버와 클라이언트를 구성해야 합니다. SSH 인증 방법은 다음 섹션에 설명되어 있습니다.
암호 기반 인증 구성
NETCONF 클라이언트가 암호 기반 인증을 사용하는 경우, 암호를 사용하여 Junos 사용자 계정을 구성합니다.
텍스트 기반 암호를 만들려면:
plain-text-password
사용자 계정에 대한 또는encrypted-password
문을 포함합니다.암호를 텍스트로 입력하려면 다음 명령을 실행합니다. 암호를 입력하라는 메시지가 표시되며, 암호는 저장되기 전에 암호화됩니다.
[edit system login user username authentication] user@host# set plain-text-password New password: password Retype new password: password
미리 암호화된 암호(예: 이전에 만들어 MD5를 사용하여 해시한 암호)를 저장하려면 다음 명령을 실행합니다.
[edit system login user username authentication] user@host# set encrypted-password "password"
구성을 커밋합니다.
[edit system login user username authentication] user@host# commit
클라이언트 애플리케이션이 암호 기반 인증을 사용하여 NETCONF 세션을 설정하는 각 Junos 디바이스에서 앞의 단계를 반복합니다.
키 기반 인증 구성
NETCONF 클라이언트가 키 기반 인증을 사용하는 경우, 먼저 구성 관리 서버에서 사용자의 SSH 키 쌍을 생성합니다. 그런 다음 Junos 디바이스의 해당 사용자 계정 아래에 공개 키를 구성합니다.
NETCONF 클라이언트를 위한 키 기반 인증을 구성하려면 다음을 수행합니다.
지정된 사용자에 대한 SSH 키 쌍을 생성합니다.
네트워크 관리 시스템에서 명령을 실행하고
ssh-keygen
적절한 인수를 제공합니다.user@nms:~$ ssh-keygen options
예를 들어:
netconf-user@nms:~$ ssh-keygen -t rsa -b 4096 Generating public/private rsa key pair. Enter file in which to save the key (/home/netconf-user/.ssh/id_rsa): Created directory '/home/netconf-user/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/netconf-user/.ssh/id_rsa Your public key has been saved in /home/netconf-user/.ssh/id_rsa.pub ...
ssh-keygen
명령은 공개 키와 개인 키를 사용자 홈 디렉토리의 .ssh 하위 디렉토리에 있는 파일에 저장합니다. 파일 이름은 인코딩 및 SSH 버전에 따라 다릅니다.ssh-keygen
명령 옵션에 대한 자세한 정보는 매뉴얼 페이지를 참조하십시오.Junos 디바이스에서 공개 키를 해당 사용자의 Junos 로그인 계정과 연결합니다.
[edit system login user username authentication] user@host# set load-key-file URL
Junos OS는 지정된 파일의 내용을 Junos OS를 실행하는 디바이스에 복사합니다. URL 은 하나 이상의 공개 키가 포함된 파일의 경로입니다. URL 지정에 대한 정보는 CLI 사용자 가이드를 참조하세요.
메모:또는 계층 수준에서 또는 이에 상응하는
[edit system login user username authentication]
명령문을 포함하여ssh-rsa
공개 키를 구성할 수 있습니다.구성을 커밋합니다.
[edit] user@host# commit
클라이언트 애플리케이션이 NETCONF 세션을 설정하는 각 Junos 디바이스에서 공개 키를 구성하는 단계를 반복합니다.
SSH 연결을 초기화하는 동안 클라이언트는 서버의 공개 키를 사용하여 NETCONF 서버의 ID를 인증할 수 있습니다. 네트워크 관리 시스템에 서버의 공개 키를 설치하거나 세션 초기화 중에 키를 전달할 수 있습니다.
인증서 기반 인증 구성
NETCONF Call Home은 인증을 위한 SSH 인증서 사용을 지원합니다. SSH 인증서는 인증 기관(CA)에서 서명한 SSH 공개 키로 구성됩니다. CA 개인 키(서명 키)는 호스트 공개 키에 서명하여 호스트 인증서를 생성합니다. 마찬가지로 CA 개인 키는 사용자 공개 키에 서명하여 사용자 인증서를 생성합니다. 호스트 인증서는 사용자에 대해 호스트를 인증하고, 사용자 인증서는 호스트에 대해 사용자를 인증합니다.
OpenSSH를 사용하여 SSH 인증서 및 관련 CA 인프라를 생성할 수 있습니다. OpenSSH 인증서는 공개 키, ID 정보 및 유효성 제약 조건을 지정합니다. 인증에 SSH 인증서를 사용하려면 다음을 수행해야 합니다.
-
인증 기관을 생성하고 CA 서명 키를 생성합니다.
-
사용자의 SSH 키 쌍을 생성합니다.
-
CA 개인 키를 사용하여 사용자 및 호스트 인증서를 생성하여 사용자 공개 키 및 호스트 공개 키에 서명합니다.
-
Junos 디바이스 및 네트워크 관리 시스템에서 CA 공개 키를 신뢰할 수 있는 것으로 구성합니다.
-
Junos 디바이스에서 인증된 보안 주체를 구성합니다.
기본적으로 생성된 인증서는 모든 사용자에게 유효합니다. 사용자 인증서를 특정 사용자 집합(보안 주체)으로 제한하려면 인증서를 생성할 때 권한 있는 보안 주체를 지정해야 합니다. Junos 디바이스에는 하나 이상의 인증된 보안 주체를 지정하는 인증서가 필요합니다. 또한 Junos 디바이스에서 인증된 보안 주체 목록을 구성해야 합니다. 장치에 구성된 권한 있는 보안 주체가 인증서의 승인된 보안 주체와 일치하는 경우 장치는 인증서를 인증합니다. 연결하는 사용자는 인증서 또는 디바이스에서 명시적으로 권한 있는 보안 주체로 구성되지 않은 경우에도 권한이 부여됩니다.
인증서 기반 인증을 구성하려면 다음 단계를 수행합니다.
인증 기관 생성
Linux/FreeBSD 시스템에서 인증 기관 서명 키를 생성합니다.
user@nms:~$ ssh-keygen -t type -f output-key-file -N passphrase -b bits
예를 들어, 다음 명령은 사용자 및 호스트 인증서에 서명하기 위해 별도의 CA 서명 키를 생성합니다.
user@nms:~$ sudo ssh-keygen -t rsa -f /root/.ssh/user_ca -N "" -b 4096 Generating public/private rsa key pair. Your identification has been saved in /root/.ssh/user_ca Your public key has been saved in /root/.ssh/user_ca.pub The key fingerprint is: SHA256:0GbR/Lar1eH3/lULO66XSikD+gSwbibgTtFdnHNwlKg root@nms ...
user@nms:~$ sudo ssh-keygen -t rsa -f /root/.ssh/host_ca -N "" -b 4096 Generating public/private rsa key pair. Your identification has been saved in /root/.ssh/host_ca Your public key has been saved in /root/.ssh/host_ca.pub The key fingerprint is: SHA256:Aps80CYHqK8jRaMt2BNkjS1SrJpuEcgF7QTlBoB/ygI root@nms ...
호스트 CA를 신뢰하도록 네트워크 관리 시스템을 구성합니다.
호스트 CA 공개 키의 내용을 복사하고 전역 또는 사용자의 SSH 알려진 호스트 파일에 추가하여 신뢰할 수 있는 CA로 표시합니다. 다음 예제에서는 호스트 CA 공개 키 내용을 복사하여 사용자의 known_hosts 파일에 추가합니다
@cert-authority * host-ca-public-key
.user@nms:~$ sudo cat /root/.ssh/host_ca.pub ssh-rsa AAAAB3Nz...
user@nms:~$ cat ~/.ssh/known_hosts @cert-authority * ssh-rsa AAAAB3Nz...
메모:NMS는 호스트 CA 공개 키를 사용하여 호스트 인증서를 확인합니다. 특정 호스트 또는 도메인에 대해서만 인증서를 신뢰하려면 와일드카드(*)를 적절한 호스트 또는 도메인 이름으로 바꿉니다.
사용자 CA 공개 키를 Junos 디바이스에 복사합니다.
user@nms:~$ scp path-to-user-CA-public-key user@device-ip:/var/tmp/
예를 들어:
user@nms:~$ sudo scp /root/.ssh/user_ca.pub user@198.51.100.1:/var/tmp/
Junos 디바이스에서 사용자 CA 공개 키를 신뢰할 수 있는 CA 키로 구성합니다.
[edit system services ssh] user@host# set trusted-user-ca-key-file path-to-user-CA-public-key
다음 예제에서는 user_ca.pub 파일에 저장된 CA 공개 키를 신뢰할 수 있는 사용자 CA 키로 추가합니다.
[edit system services ssh] user@host# set trusted-user-ca-key-file /var/tmp/user_ca.pub user#host# commit
이 명령문을 구성하면 디바이스는 사용자 CA 공개 키를 /var/etc/ssh_trusted_user_ca.pub 파일에 추가합니다. Junos 디바이스는 사용자 CA 공개 키를 사용하여 SSH 세션 설정 중에 사용자 인증서를 확인합니다.
사용자 인증서 생성
NETCONF 클라이언트용 SSH 인증서를 생성하려면 다음을 수행합니다.
클라이언트 NMS에서 사용자에 대한 SSH 키 쌍을 생성합니다.
user@nms:~$ ssh-keygen -t (rsa | ecdsa | ed25519) -f output-key-file -N passphrase -b bits
예를 들어:
lab@nms:~$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -N "" -b 4096 Generating public/private rsa key pair. Your identification has been saved in /home/lab/.ssh/id_rsa Your public key has been saved in /home/lab/.ssh/id_rsa.pub ...
디바이스가 다른 경우 CA 서명 키가 있는 CA 서버에 사용자의 공개 키를 복사합니다.
사용자 인증서를 생성합니다.
사용자 CA 프라이빗 키를 사용하여 사용자의 공개 키에 서명하고 이 인증서를 사용하여 Junos 디바이스에 액세스할 수 있는 인증된 주체(사용자) 목록을 지정합니다.
user@nms:~$ ssh-keygen -s path-to-user-ca-private-key -I key-identity -n principal1,principal2,principal3 -V validity-interval path-to-user-public-key
다음 명령어는 user_ca 에 저장된 CA 개인 키를 사용하여 id_rsa.pub에 저장된 사용자의 공개 키에 서명합니다. 인증서는 lab 및 netconf-user의 두 가지 주체에 유효합니다.
user@nms:~$ sudo ssh-keygen -s /root/.ssh/user_ca -I netconfusers -n lab,netconf-user -V +52w6d /home/lab/.ssh/id_rsa.pub Signed user key /home/user/.ssh/id_rsa-cert.pub: id "netconfusers" serial 0 for lab,netconf-user valid from 2024-04-11T17:47:00 to 2025-04-16T17:48:20
사용자 인증서가 생성되었는지 확인합니다.
user@nms:~$ ssh-keygen -Lf path-to-user-cert
이전 단계에서 명령은 id_rsa-cert.pub 파일을 만듭니다.
lab@nms:~$ ssh-keygen -Lf /home/lab/.ssh/id_rsa-cert.pub /home/lab/.ssh/id_rsa-cert.pub: Type: ssh-rsa-cert-v01@openssh.com user certificate Public key: RSA-CERT SHA256:SMInnJm8SXfsYLm7NvQZqcaGpuXc9QuraKZSsewdFKM Signing CA: RSA SHA256:0GbR/Lar1eH3/lULO66XSikD+gSwbibgTtFdnHNwlKg (using rsa-sha2-512) Key ID: "netconfusers" Serial: 0 Valid: from 2024-04-11T17:51:00 to 2025-04-16T17:52:45 Principals: lab netconf-user Critical Options: (none) Extensions: permit-X11-forwarding permit-agent-forwarding permit-port-forwarding permit-pty permit-user-rc
디바이스가 다른 경우 사용자 인증서를 네트워크 관리 시스템에 복사합니다.
$ scp path-to-user-cert user@nms-ip:/home/user/.ssh
사용자 인증서 파일 소유자 및 권한이 올바른지 확인합니다.
user@nms:~$ sudo chown user:group /home/user/.ssh/id_rsa-cert.pub user@nms:~$ sudo chmod 644 /home/user/.ssh/id_rsa-cert.pub
SSH 키 및 인증서 ID가 자동으로 추가되지 않은 경우 ssh-agent 애플리케이션에 추가합니다. 예를 들어:
lab@nms:~$ ssh-add Identity added: /home/lab/.ssh/id_rsa (lab@nms) Certificate added: /home/lab/.ssh/id_rsa-cert.pub (netconfusers)
호스트 인증서 생성
Junos 디바이스는 SSH 키를 /etc/ssh 디렉터리에 저장합니다. 호스트 인증서를 생성하려면 먼저 호스트의 공개 키를 CA 서버에 복사한 다음 호스트 CA 개인 키를 사용하여 호스트 공개 키에 서명합니다.
Junos 디바이스에서 호스트 공개 키를 확인합니다.
user@host> file list /etc/ssh/*.pub /etc/ssh/ssh_host_ec_p384_key.pub /etc/ssh/ssh_host_ec_p521_key.pub /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ed25519_key.pub /etc/ssh/ssh_host_rsa_key.pub
Junos 디바이스의 공개 키를 CA 서명 키가 있는 CA 서버에 복사합니다.
user@host> scp /etc/ssh/ssh_host_rsa_key.pub user@ca-server-ip:/var/tmp/
호스트 인증서를 생성합니다.
호스트 CA 개인 키를 사용하여 호스트의 공개 키에 서명하고 옵션을 지정
-h
하여 호스트 인증서를 만듭니다.user@nms:~$ ssh-keygen -s path-to-host-CA-private-key -I key-identity -h path-to-host-public-key
다음 명령어는 host_ca 에 저장된 CA 개인 키를 사용하여 ssh_host_rsa_key.pub에 저장된 호스트의 공개 키에 서명합니다.
user@nms:~$ sudo ssh-keygen -s /root/.ssh/host_ca -I ssh_server -h /var/tmp/ssh_host_rsa_key.pub Signed host key /var/tmp/ssh_host_rsa_key-cert.pub: id "ssh_server" serial 0 valid forever
호스트 인증서가 생성되었는지 확인합니다.
user@nms:~$ ls path-to-host-certificate
이전 단계에서 명령은 ssh_host_rsa_key-cert.pub 파일을 만듭니다.
user@nms:~$ ls /var/tmp/ssh_host_rsa_key-cert.pub /var/tmp/ssh_host_rsa_key-cert.pub
호스트 인증서를 Junos 디바이스에 복사합니다.
user@nms:~$ scp path-to-host-certificate user@device-ip:/var/tmp/
예를 들어:
user@nms:~$ scp /var/tmp/ssh_host_rsa_key-cert.pub user@198.51.100.1:/var/tmp/
Junos 디바이스에서 호스트 인증서를 구성합니다.
[edit system services ssh] user@host# set host-certificate-file /var/tmp/ssh_host_rsa_key-cert.pub user#host# commit
이 명령문을 구성하면 디바이스가 호스트 인증서를 /var/etc/ssh_host_ca.pub 파일에 추가합니다.
인증된 보안 주체 구성
사용자 인증서는 특정 사용자 또는 보안 주체에 연결할 수 있습니다. Junos 디바이스에서는 사용자 인증서가 하나 이상의 인증된 보안 주체를 지정하도록 요구합니다. 또한 Junos 디바이스에서 인증된 보안 주체를 구성해야 합니다. Junos 디바이스는 디바이스에 구성된 인증된 보안 주체 중 하나 이상이 인증서의 인증된 주체와 일치하는 경우 인증서를 인증합니다.
여러 가지 방법을 사용하여 권한 부여된 보안 주체 목록을 구성할 수 있습니다. 권한이 부여된 보안 주체 목록이 포함된 파일을 각각 별도의 줄에 로드할 수 있습니다. 또한 구성에서 권한 있는 주체 목록을 직접 구성할 수도 있습니다.
인증된 보안 주체를 구성하려면,
(선택 사항) 인증된 주체 파일을 생성하여 Junos 디바이스에 복사합니다.
user@host> file show /var/tmp/auth_principals_list lab netconf-user
SSH 인증서를 사용하여 시스템에 액세스할 수 있는 인증된 보안 주체를 구성합니다.
인증된 프린시펄이 포함된 파일을 로드하려면 문을 구성
authorized-principals-file
하고 로드할 파일의 경로를 지정합니다.[edit system services ssh] user@router# set authorized-principals-file filepath
예를 들어:
[edit system services ssh] user@router# set authorized-principals-file /var/tmp/auth_principals_list
구성에서 직접 하나 이상의 인증된 보안 주체를 구성하려면 문을 사용하고
authorized-principals
보안 주체 이름 또는 보안 주체 이름 목록을 지정합니다.[edit system services ssh] user@host# set authorized-principals principal user@host# set authorized-principals [principal1 principal2 principal3]
예를 들어:
[edit system services ssh] user@host# set authorized-principals [lab netconf-user]
구성을 커밋합니다.
[edit] user@host# commit
인증된 보안 주체를 구성할 때 디바이스는 인증된 보안 주체 목록을 /var/etc/ssh_authorized_principals 파일에 추가합니다.
NETCONF 서비스 활성화
NETCONF 콜홈 클라이언트에 연결할 Junos 디바이스 구성
NETCONF 콜홈 시나리오에서는 TCP 서버 및 클라이언트의 역할이 뒤바뀝니다. Junos 디바이스를 구성하여 사전 정의된 네트워크 관리 시스템 세트와의 연결을 시작, 설정 및 유지할 수 있습니다. NETCONF 콜홈은 아웃바운드 SSH를 사용하여 지정된 NETCONF 클라이언트에 연결합니다.
시작하기 전에:
-
인증에 SSH 인증서를 사용하는 경우 사용자 CA 인증서, 호스트 인증서 및 권한 있는 프린시펄을 구성합니다.
NETCONF 콜홈 클라이언트 구성은 클라이언트 구성을 커밋할 때 SSH 인증서 구성을 등록합니다. 클라이언트 구성을 커밋할 때 호스트 인증서와 적어도 하나의 사용자 CA 인증서 및 하나의 인증된 보안 주체를 구성해야 합니다. 나중에 이러한 초기 값을 추가하는 경우 클라이언트 구성을 비활성화하고 커밋한 다음 클라이언트 구성을 활성화하고 커밋하여 값이 적용되도록 해야 합니다. 클라이언트 구성을 처음 활성화할 때 초기 값이 구성된 경우 클라이언트 구성은 기존 값에 대한 업데이트를 자동으로 등록합니다.
Junos 디바이스에서 NETCONF 콜홈 클라이언트를 구성하려면 다음을 수행합니다.
NETCONF Call Home 클라이언트에 연결하고 구성을 커밋할 디바이스를 구성한 후, 디바이스는 클라이언트와의 TCP/IP 연결을 시작하려고 시도합니다. 디바이스는 성공할 때까지 또는 NETCONF 콜홈 클라이언트 구성이 삭제 또는 비활성화될 때까지 이 연결을 계속 생성합니다.
Junos 디바이스는 아웃바운드 SSH 연결을 설정할 때마다 디바이스를 식별하는 시작 시퀀스를 클라이언트에 보냅니다. 이 변속기 내에는 의 값이 device-id
있습니다. 문을 구성 secret
하지 않으면 시작 시퀀스는 다음과 같습니다.
MSG-ID: DEVICE-CONN-INFO\r\n MSG-VER: V1\r\n DEVICE-ID: <device-id>\r\n
문을 구성하는 secret
경우, 시작 시퀀스에는 Junos 디바이스의 공개 키와 문에서 부분적으로 파생된 SHA1 해시가 secret
포함됩니다. 클라이언트는 예상 해시 값을 계산하고 이를 HMAC 값과 비교하여 제시된 호스트 키가 문으로 device-id
식별된 디바이스의 것인지 확인할 수 있습니다.
MSG-ID: DEVICE-CONN-INFO\r\n MSG-VER: V1\r\n DEVICE-ID: <device-id>\r\n HOST-KEY: <public-host-key>\r\n HMAC:<HMAC(pub-SSH-host-key, <secret>)>\r\n
클라이언트는 제시된 호스트 키 또는 인증서를 검증하여 Junos 디바이스를 인증합니다. 마찬가지로 NETCONF 서버도 클라이언트를 인증합니다. 서버는 먼저 인증서 기반 인증을 확인한 다음 키 기반 인증을 확인하고 마지막으로 암호 기반 인증을 확인합니다. SSH 세션이 설정된 후 클라이언트는 NETCONF 세션을 시작합니다.