이 페이지의 내용
원격 액세스 개요
사용자(네트워크 관리자)는 DHCP, Finger, FTP, rlogin, SSH 및 Telnet 서비스와 같은 서비스를 사용하여 라우터, 스위치 또는 보안 디바이스에 원격으로 액세스할 수 있습니다. 이 항목은 Telnet, SSH, FTP 및 Finger 서비스를 사용하여 원격 액세스를 구성하는 방법을 보여줍니다.
시스템 서비스 개요
보안상의 이유로, 라우터에 대한 원격 액세스는 기본적으로 비활성화되어 있습니다. 원격 시스템의 사용자가 액세스할 수 있도록 라우터를 명시적으로 구성해야 합니다. 사용자는 DHCP, 손가락, FTP, rlogin, SSH 및 Telnet 서비스를 통해 원격 시스템에서 라우터에 액세스할 수 있습니다. 또한 Junos XML 프로토콜 클라이언트 애플리케이션은 다른 서비스 중에서 SSL(Secure Sockets Layer) 또는 Junos XML 프로토콜별 일반 텍스트 서비스를 사용할 수 있습니다.
시스템 리소스를 보호하기 위해 서비스가 수용하는 동시 연결 수와 단일 사용자가 소유하는 프로세스 수를 제한할 수 있습니다. 어느 한쪽의 제한이 초과하면 연결 시도가 실패합니다.
라우터 또는 스위치에 대한 원격 액세스에 대한 텔넷 서비스 구성
텔넷을 액세스 서비스로 수락하도록 라우터 또는 스위치를 구성하려면 계층 수준에서 다음 문을 포함 telnet 합니다.[edit system services]
[edit system services] telnet { connection-limit limit; rate-limit limit; }
기본적으로 라우터 또는 스위치는 분당 제한된 수의 동시 텔넷 세션 및 연결 시도를 지원합니다.
선택적으로 다음 문 중 하나 또는 둘 다를 포함하여 기본값을 변경할 수 있습니다.
-
connection-limit limit—프로토콜당 최대 동시 연결 수(IPV4 및 IPv6). 범위는 1에서 250까지입니다. 기본값은 75입니다. 연결 제한을 구성할 때 이 제한은 프로토콜(IPv4 및 IPv6)당 텔넷 세션 수에 적용됩니다. 예를 들어 연결 제한을 10으로 설정하면 10개의 IPv6 텔넷 세션과 10개의 IPv4 텔넷 세션이 허용됩니다. -
rate-limit limit—분당 허용되는 최대 연결 시도 수(1에서 250까지). 기본값은 150입니다. 속도 제한을 구성할 때 제한은 프로토콜(IPv4 및 IPv6)당 연결 시도 수에 적용됩니다. 예를 들어 속도 제한을 10으로 설정하면 분당 10번의 IPv6 텔넷 세션 연결 시도와 분당 10번의 IPv4 텔넷 세션 연결 시도가 허용됩니다.
라우터 또는 스위치에 대한 원격 액세스에 대한 FTP 서비스 구성
FTP를 액세스 서비스로 허용하도록 디바이스를 구성하려면 계층 수준에서 [edit system services] 문을 포함 ftp 합니다.
[edit system services] ftp;
Passive FTP를 사용하여 수동 FTP 서비스만 허용하는 디바이스에 액세스할 수 있습니다. FTP를 사용하는 모든 명령과 문 또한 passive FTP를 허용합니다. 활성 FTP 또는 수동 FTP를 사용하려면 계층 수준에서 [edit system services] 문을 포함 ftp 합니다.
Passive FTP 세션을 시작하려면 표준 FTP 형식(ftp://destination)으로 (대신 ftp )를 사용합니다 pasvftp . 예를 들어:
request system software add pasvftp://name.com/jinstall.tgz
라우터에 대한 원격 액세스에 대한 핑거 서비스 구성
핑거를 액세스 서비스로 허용하도록 라우터를 구성하려면 계층 수준에서 다음 문을 포함 finger 합니다.[edit system services]
[edit system services] finger;
라우터 또는 스위치에 대한 원격 액세스에 대한 SSH 서비스 구성
SSH를 액세스 서비스로 받아들이도록 라우터 또는 스위치를 구성하려면 계층 수준에서 문을 포함 ssh 합니다.[edit system services]
[edit system services] ssh { authentication-order [method 1 method2...]; authorized-keys-command authorized-keys-command; authorized-keys-command-user authorized-keys-command-user; authorized-principals-file filename authorized-principals-command program-path ciphers [ cipher-1 cipher-2 cipher-3 ...]; client-alive-count-max number; client-alive-interval seconds; connection-limit limit; fingerprint-hash (md5 | sha2-256); host-certificate-file filename hostkey-algorithm (algorithm | no-algorithm); key-exchange [algorithm1 algorithm2...]; log-key-changes log-key-changes; macs [algorithm1 algorithm2...]; max-pre-authentication-packets number; max-sessions-per-connection number; no-challenge-response; no-password-authentication; no-passwords; no-public-keys; no-tcp-forwarding; port port-number; protocol-version [v2]; rate-limit number; rekey { data-limit bytes; time-limit minutes; } root-login (allow | deny | deny-password); sftp-server; tcp-forwarding; trusted-user-ca-key-file filename }
기본적으로 라우터 또는 스위치는 분당 제한된 수의 동시 SSH 세션 및 연결 시도를 지원합니다. 다음 문을 사용하여 기본값을 변경합니다.
-
connection-limit limit—프로토콜당 최대 동시 연결 수(IPv4 및 IPv6). 범위는 1에서 250까지의 값입니다. 기본값은 75입니다. 연결 제한을 구성할 때 이 제한은 프로토콜(IPv4 및 IPv6)당 SSH 세션 수에 적용됩니다. 예를 들어, 연결 제한을 10으로 설정하면 10개의 IPv6 SSH 세션과 10개의 IPv4 SSH 세션이 허용됩니다. -
max-sessions-per-connection number- 단일 SSH 연결 당 허용되는 최대 SSH 세션 수를 지정하려면 이 문을 포함합니다. 이를 통해 단일 SSH 연결 내에서 터널링된 복제 세션 수를 제한할 수 있습니다. 기본값은 10입니다. -
rate-limit limit- 분당 허용되는 최대 연결 시도 수(1에서 250까지의 값). 기본값은 150입니다. 속도 제한을 구성할 때 제한은 프로토콜(IPv4 및 IPv6)당 연결 시도 수에 적용됩니다. 예를 들어, 속도 제한을 10으로 설정하면 분당 10번의 IPv6 SSH 세션 연결 시도와 분당 10번의 IPv4 SSH 세션 연결 시도가 허용됩니다. -
data-limit- 세션 키 재협상 전 데이터 제한(바이트) -
time-limit—세션 키 재협상 전 시간 제한(분)
기본적으로 사용자는 CLI 세션을 통해 SSH를 통해 Junos OS를 실행하는 라우터에 대한 SSH 터널을 생성할 수 있습니다. 이 유형의 터널은 모든 방화벽 필터 또는 액세스 제어 목록을 우회하여 TCP 트래픽을 전달하는 데 사용될 수 있습니다. 방화벽 필터 또는 액세스 제어 목록을 우회함으로써 이러한 유형의 터널을 통해 라우터 외부의 리소스에 액세스할 수 있습니다. 사용자가 SSH를 통해 라우터에 SSH 터널을 생성하지 못하도록 하는 옵션을 사용합니다 no-tcp-forwarding .
주니퍼 네트웍스는 SSH 프로토콜에 양자 버퍼를 사용하는 CRQC(Cryptographically Relevant Quantum Computers)의 위험을 줄이기 위해 기존 공개 키 암호화에서 FFC(Finite Field Cryptography) 매개 변수를 강화합니다. 이 양자 버퍼 접근 방식은 FFC 매개변수를 강화하여 시간 창을 확장하고 암호 분석 공격에 저항합니다. 양 자 버퍼를 참조하십시오.
다른 구성 설정에 대한 자세한 내용은 다음 항목을 참조하십시오.
SSH를 통한 루트 로그인 구성
기본적으로 사용자는 인증 방법에 암호가 필요하지 않은 경우 SSH를 통해 라우터에 로그인하거나 스위치할 root 수 있습니다. SSH를 통한 사용자 액세스를 제어하려면 계층 수준에서 다음 문을 포함 root-login 합니다.[edit systems services ssh]
[edit system services ssh] root-login (allow | deny | deny-password);
allow- 사용자가 SSH를 통해 라우터에 로그인하거나 루트로 스위치할 수 있습니다.
deny- 사용자가 SSH를 통해 루트로 라우터 또는 스위치에 로그인하는 것을 비활성화합니다.
deny-password—인증 방법(예: RSA)에 암호가 필요하지 않은 경우 사용자가 라우터에 로그인하거나 SSH를 통해 루트로 스위치할 수 있습니다.
기본값은 deny-password입니다.
들어오는 SFTP 연결 구성
SFTP(SSH File Transfer Protocol)는 신뢰할 수 있는 데이터 스트림을 통해 파일 액세스, 파일 전송 및 파일 관리를 제공하는 네트워크 프로토콜입니다. 들어오는 SFTP 연결은 기본적으로 비활성화됩니다. 원하는 경우 계층 수준에서 [edit system services ssh] 문을 sftp-server 구성하여 들어오는 SFTP 연결을 전반적으로 활성화할 수 있습니다.
들어오는 SFTP 연결만 기본적으로 비활성화됩니다. 예를 들어, 디바이스 A와 B를 감안할 때 기본적으로 SFTP를 통해 B에서 A로 연결할 수 없습니다. 그러나 디바이스 A에서 구성 sftp-server 하면 디바이스 B에서 디바이스 A로 SFTP를 통해 연결할 수 있습니다.
들어오는 SFTP 연결은 기본적으로 비활성화됩니다. 들어오는 SFTP 연결을 활성화하려면:
SSH 프로토콜 버전 구성
기본적으로 SSH 프로토콜의 버전 2만 활성화됩니다.
SSH 프로토콜의 버전 2를 사용하도록 라우터 또는 스위치를 구성하려면 문을 포함 protocol-version 하고 계층 수준에서 [edit system services ssh] 지정합니다v2.
[edit system services ssh] protocol-version [ v2 ];
클라이언트 얼라이브 메커니즘 구성
클라이언트 얼라이브 메커니즘은 클라이언트 또는 서버가 연결이 비활성된 시점을 아는 데 의존할 때 유용합니다. 클라이언트 활성 메시지가 암호화된 채널을 통해 전송되기 때문에 표준 킵얼라이브 메커니즘과 다릅니다. 클라이언트 얼라이브 메커니즘은 기본적으로 활성화되지 않습니다. 이를 활성화하려면 and client-alive-interval 문을 구성 client-alive-count-max 합니다. 이 옵션은 SSH 프로토콜 버전 2에만 적용됩니다.
다음 예에서는 응답하지 않는 SSH 클라이언트의 연결이 약 100초(20x5) 후에 끊어집니다.
[edit system ssh] client-alive-count-max 5; client-alive-interval 20;
SSH 지문 해시 알고리즘 구성
SSH 서버가 키 지문을 표시할 때 사용하는 해시 알고리즘을 구성하려면 문을 포함 fingerprint-hash 하고 계층 수준에서 [edit system services ssh] or sha2-256 를 지정합니다md5.
[edit system services ssh] fingerprint-hash (md5 | sha2-256);
SSH 인증서 기반 인증 개요
Junos OS 및 Junos OS Evolved 릴리스 22.4R1부터는 사용자와 호스트에 대해 SSH 인증서 기반 인증을(를) 구성할 수 있습니다. 이 기능을 사용하면 키 지문을 확인하지 않고도 사용자와 신뢰할 수 있는 호스트를 위해 암호 없는 SSH 액세스를 설정할 수 있습니다.
SSH 인증서 기반 인증의 이점
-
SSH 인증서 기반 인증은 사용자가 비밀번호를 기억하고 입력할 필요가 없으므로 로그인 프로세스가 간소화됩니다.
-
기존의 암호 기반 접근 방식에 비해 SSH 인증서는 더 강력한 보안을 제공합니다. 추측하거나 해독할 수 있는 암호가 없기 때문에 침해하기가 더 어렵습니다.
-
SSH 인증서는 인증 키 관리를 단순화합니다. 관리자는 각 사용자 및 호스트에 대한 개별 키를 관리하는 대신 중앙 인증 기관에서 인증서를 발급하고 취소할 수 있습니다.
서명 키 생성
서명 키는 SSH 인증서 기반 인증에 사용되는 특수 암호화 키입니다. SSH 인증서 기반 인증 구성의 첫 번째 단계는 서명 키를 생성하는 것입니다. 모든 Linux/FreeBSD 시스템에서 서명 키를 생성할 수 있습니다. SSH 인증서 기반 인증에 대한 서명 키를 생성하려면 다음 단계를 따르십시오.
다음 명령을 실행합니다.
ssh-keygen -f <filename_ca>이렇게 하면 라는<filename_ca>개인 키와 라는 해당 공개 키<filename_ca.pub>가 생성됩니다.주니퍼 디바이스에 로그인하고 다음 명령을
set system services ssh trusted-user-ca-key-file <path-to-public-key>실행하여 SSH 신뢰할 수 있는 사용자 인증 기관(CA) 키 파일을 구성한 다음 구성을 커밋합니다.각 사용자는 다음 CLI 명령을
ssh-keygen -t <rsa|ecdsa|ed25519>사용하여 자신의 사용자 키를 생성할 수 있습니다.사용자 생성 공개 키를 사용자 인증서
<filename_ca>및<filename_ca.pub>.파일에서 사용자 공개 키에 서명합니다.
<filename_ca.pub>
구성
SSH 인증서 기반 인증을 구성하려면 다음 CLI 구성 문을 사용합니다.
-
[system services ssh trusted-user-ca-key-file filename]- SSH 인증서의TrustedUserCAKey공개 키가 들어 있는 파일을 구성합니다. -
[system services ssh host-certificate-file filename]- 서명된HostCertificate호스트 인증서가 포함된 파일을 구성합니다. -
[system services ssh authorized-principals-file filename]- 이름 목록이 포함된 파일을 구성AuthorizedPrincipals하며, 그 중 하나는 인증이 수락되기 위해 인증서에 나타나야 합니다. -
[system services ssh authorized-principals-command program-path]- 파일에 있는AuthorizedPrincipals허용된 인증서 주체의 목록을 생성하는 데 사용할 프로그램을 지정합니다.
SSH 비활성화
SSH를 활성화한 후 비활성화하려면 계층 수준에서 [edit system services] 문을 제거 ssh 하기만 하면 됩니다.
외부 SSH만 비활성화하려면 계층 수준에서 [edit system services ssh] 문을 사용하십시오access-disable-external.
SSH가 기본적으로 활성화되어 있으면 평소처럼 계층을 [edit system services] 통해 비활성화할 수 없습니다. 대신 SSH 액세스를 거부하도록 방화벽 필터를 구성할 수 있습니다.
set firewall family inet filter SSH-FILTER term 1 from protocol tcp set firewall family inet filter SSH-FILTER term 1 from port ssh set firewall family inet filter SSH-FILTER term 1 from interface fxp0 set firewall family inet filter SSH-FILTER term 1 then discard set firewall family inet filter SSH-FILTER term 2 then accept
단계별 절차
SSH 액세스를 거부하도록 방화벽 필터를 구성하려면 다음 단계를 따르십시오.
-
필터 용어 1를 정의합니다. 이 용어는 SSH의 TCP 트래픽을 거부합니다.
[edit] user@R1# set firewall family inet filter SSH-FILTER term 1 from protocol tcp user@R1# set firewall family inet filter SSH-FILTER term 1 from port ssh user@R1# set firewall family inet filter SSH-FILTER term 1 from interface fxp0 user@R1# set firewall family inet filter SSH-FILTER term 1 then discard
-
필터 용어 2를 정의합니다. 이 용어는 필터 용어 1로 거부되지 않는 모든 트래픽을 허용합니다.
[edit] user@R1# set firewall family inet filter SSH-FILTER term 2 then accept
방화벽 필터를 사용하여 SSH를 비활성화하는 방법에 대한 자세한 내용은 예: Telnet 및 SSH 액세스 차단을 위한 필터 구성을 참조하십시오.
텔넷 명령
CLI telnet 명령을 사용하여 원격 디바이스에 대한 텔넷 세션을 열 수 있습니다.
user@host> telnet host <8bit> <inet> <inet6> <port port> <routing-instance routing-instance-name>
텔넷 세션을 종료하고 텔넷 명령 프롬프트로 돌아가려면 Ctrl-]를 누릅니다.
텔넷 세션을 종료하고 CLI 명령 프롬프트로 돌아가려면 를 입력합니다 quit.
| 옵션 |
설명 |
|---|---|
|
|
8비트 데이터 경로를 사용합니다. |
|
|
지정된 호스트 이름 또는 IP 주소에 대한 텔넷 세션을 엽니다. |
|
|
IPv4 대상에 텔넷 세션을 강제 적용합니다. |
|
|
IPv6 대상에 텔넷 세션을 강제 적용합니다. |
|
|
호스트의 포트 번호 또는 서비스 이름을 지정합니다. |
|
|
텔넷 세션에 대해 지정된 라우팅 인스턴스를 사용합니다. |
ssh 명령
CLI ssh 명령을 사용하여 보안 셸(SSH) 프로그램을 사용하여 원격 디바이스에 대한 연결을 열 수 있습니다.
user@host> ssh host <bypass-routing> <inet> <inet6> <interface interface-name> <logical-system> <routing-instance routing-instance-name> <source address> <v2>
표 2 에는 명령 옵션에 대한 설명이 나와 있습니다 ssh .
| 옵션 |
설명 |
|---|---|
|
|
라우팅 테이블을 우회하고 직접 연결된 인터페이스의 호스트에 대해서만 SSH 연결을 엽니다. 호스트가 직접 연결된 인터페이스에 없는 경우 오류 메시지가 반환됩니다. |
|
|
지정된 호스트 이름 또는 IP 주소에 대한 SSH 연결을 엽니다. |
|
|
IPv4 대상에 SSH 연결을 강제 적용합니다. |
|
|
IPv6 대상에 SSH 연결을 강제 적용합니다. |
|
|
지정된 인터페이스의 호스트에 대한 SSH 연결을 엽니다. 이 옵션을 포함하지 않으면 모든 인터페이스가 사용됩니다. |
|
|
SSH 연결에 대해 지정된 라우팅 인스턴스를 사용합니다. |
|
|
SSH 연결에 지정된 논리 시스템을 사용합니다. |
|
|
SSH 연결에 대해 지정된 소스 주소를 사용합니다. |
|
|
SSH가 연결에 버전 2를 사용하도록 강제 적용합니다. |
안전한 데이터 복사를 위해 SSH 식별된 호스트 키 구성
보안 쉘(SSH)은 암호화 알고리즘을 사용하여 안전한 데이터 전송을 보장하는 호스트, 서버 및 세션 키 시스템을 생성합니다. SSH 호스트 키를 구성하여 구성 아카이브 및 이벤트 로그와 같은 데이터의 백그라운드 전송을 위한 FTP 대안으로 보안 사본(SCP)을 지원할 수 있습니다. SCP에 대한 SSH 지원을 구성하려면 다음 작업을 완료해야 합니다.
-
라우팅 엔진 구성 계층에 호스트 이름 및 호스트 키 정보를 포함하여 SSH 식별 호스트를 지정합니다.
-
SCP URL을 설정하여 데이터를 수신할 호스트를 지정합니다. 이 속성을 설정하면 SCP 서버에서 SSH 호스트 키 정보가 자동으로 검색됩니다.
-
호스트 키가 진정한 키인지 확인합니다.
-
보안 연결을 수락합니다. 이 연결을 수락하면 호스트 키 정보를 로컬 호스트 키 데이터베이스에 자동으로 저장됩니다. 호스트 키 정보를 구성 계층에 저장하면 보안 핸드셰이크가 자동화되고 SCP를 사용하여 배경 데이터 전송이 가능합니다.
데이터의 안전한 복사를 위해 SSH 호스트 키를 구성하는 작업은 다음과 같습니다.
SSH 식별 호스트 구성
SSH 식별 호스트를 구성하려면 문을 포함 host 하고 계층 수준에서 신뢰할 수 있는 서버에 대한 호스트 이름 및 호스트 키 옵션을 지정합니다.[edit security ssh-known-hosts]
[edit security ssh-known-hosts]
host corporate-archive-server {
dsa-key key;
}
host archive-server-url {
rsa-key key;
}
host server-with-ssh-version-1 {
rsa1-key key;
}
호스트 키는 다음 중 하나입니다.
-
dsa-key key—SSH 버전 2에 대한 Base64 부호화 DSA(Digital Signature Algorithm) 키. -
ecdsa-sha2-nistp256-keykey—Base64 인코딩 ECDSA-SHA2-NIST256 키. -
ecdsa-sha2-nistp384-keykey—Base64 부호화 ECDSA-SHA2-NIST384 키. -
ecdsa-sha2-nistp521-keykey—Base64 인코딩 ECDSA-SHA2-NIST521 키. -
ed25519-keykey- Base64로 인코딩된 ED25519 키. -
rsa-key key- SSH 버전 1 및 SSH 버전 2에 대한 암호화 및 디지털 서명을 지원하는 Base64 인코딩 공개 키 알고리즘. -
rsa1-key key- SSH 버전 1에 대한 암호화 및 디지털 서명을 지원하는 Base64 인코딩 RSA 공개 키 알고리즘.
SCP 파일 전송을 위한 지원 구성
알려진 호스트를 구성하여 배경 SCP 파일 전송을 지원하려면 계층 수준에서 [edit system archival configuration] 문을 포함 archive-sites 합니다.
[edit system archival configuration]
archive-sites {
scp://username<:password>@host<:port>/url-path;
}
IPv6 호스트 주소를 사용하여 Junos OS Evolved 문에서 URL을 지정할 때 전체 URL을 따옴표(" ")로 표시하고 IPv6 호스트 주소를 괄호([ ])로 표시해야 합니다. 예를 들어 "scp://username<:password>host[]<:port>/url-path";
SCP URL을 가리키도록 문을 설정 archive-sites 하면 자동 호스트 키가 검색됩니다. 이 시점에서, Junos OS Evolved 는 SCP 호스트에 연결되어 SSH 공개 키를 가져오고, 호스트 키 메시지 다이제스트 또는 지문을 콘솔의 출력으로 표시하며, 서버에 대한 연결을 종료합니다.
user@host# set system archival configuration archive-sites “<scp-url-path>” The authenticity of host <my-archive-server (<server-ip-address>)> can’t be established. RSA key fingerprint is <ascii-text key>. Are you sure you want to continue connecting (yes/no)?
호스트 키가 진정한 키인지 확인하려면 이 지문을 신뢰할 수 있는 소스를 사용하여 동일한 호스트로부터 얻은 지문과 비교해야 합니다. 지문이 동일할 경우, 프롬프트에 입력 yes 하여 호스트 키를 수락합니다. 그런 다음 호스트 키 정보가 라우팅 엔진 구성에 저장되며 SCP를 사용하여 백그라운드 데이터 전송을 지원합니다.
SSH 호스트 키 정보 업데이트
일반적으로 SSH 호스트 키 정보는 계층 수준에서 [edit system] 문을 사용하여 archival configuration archive-sites SCP에 대한 URL 속성을 설정할 때 자동으로 검색됩니다. 그러나 호스트 키 데이터베이스를 수동으로 업데이트해야 하는 경우, 다음 방법 중 하나를 사용합니다.
호스트 키 정보 수동 검색
SSH 공개 호스트 키 정보를 수동으로 검색하려면 계층 수준에서 옵션을 구성 fetch-from-server 합니다 [edit security ssh-known-hosts] . SSH 공개 키를 검색할 호스트를 지정해야 합니다.
user@host# set security ssh-known-hosts fetch-from-server <hostname>
파일에서 호스트 키 정보 가져오기
known_hosts 파일에서 SSH 호스트 키 정보를 수동으로 가져오려면 계층 수준에서 옵션을 포함 load-key-file 합니다[edit security ssh-known-hosts]. 호스트 키 정보를 가져올 파일의 경로를 지정해야 합니다.
user@host# set security ssh-known-hosts load-key-file /var/tmp/known-hosts
레거시 암호화 지원을 위한 SSH 서비스 구성
레거시 암호화 암호 및 키 교환 방법을 지원하도록 Junos OS Evolved 를 구성할 수 있습니다.
Junos OS Evolved 는 기본적으로 다음과 같은 암호 집합을 지원합니다.
-
chacha20-poly1305@openssh.com -
aes128-ctr -
aes192-ctr -
aes256-ctr -
aes128-gcm@openssh.com -
aes256-gcm@openssh.com
Junos OS Evolved에서 다음 암호는 기본적으로 지원되지 않지만 이를 지원하도록 디바이스를 구성할 수 있습니다. 가장 안전한 것부터 가장 덜 안전한 것까지 나열됩니다.
-
aes256-cbc -
aes192-cbc -
aes128-cbc
Junos OS Evolved 는 기본적으로 다음과 같은 키 교환 방법을 지원합니다.
-
curve25519-sha256 -
ecdh-sha2-nistp256 -
ecdh-sha2-nistp384 -
ecdh-sha2-nistp521 -
group-exchange-sha2 -
dh-group14-sha1
Junos OS Evolved에서 다음 키 교환 방법은 기본적으로 지원되지 않지만 이를 지원하도록 디바이스를 구성할 수 있습니다.
-
group-exchange-sha1 -
dh-group1-sha1
레거시 암호화를 지원하도록 SSH 서비스를 구성하는 방법:
암호, 키 교환 방법 또는 MAC(메시지 인증 코드)의 정렬된 집합을 구성하면 새롭게 정의된 집합이 서버와 클라이언트 명령 모두에 적용됩니다. 기본값을 변경하면 SCP(Secure Copy Protocol)를 사용할 때 명령에 file copy 영향을 줍니다.
또한보십시오
아웃바운드 SSH 서비스 구성
클라이언트 관리 애플리케이션과의 TCP/IP 연결을 시작하도록 Junos OS Evolved 를 실행하는 디바이스를 구성할 수 있습니다. 관리 애플리케이션이 주니퍼 네트웍스 디바이스(예: 방화벽인 디바이스)에 연결되지 않는 경우 이러한 경우 outbound-ssh 주니퍼 네트웍스 디바이스에서 구성할 수 있습니다. 구성은 outbound-ssh 서버에서 클라이언트로, 관리 응용 프로그램으로 역방향 SSH 연결을 시작합니다. 이 아웃바운드 SSH 연결은 디바이스에서 구성을 제거한 후에만 닫힙니다.
아웃바운드 SSH를 사용하는 초기화 명령이 없습니다. 아웃바운드 SSH를 구성하고 커밋하면 디바이스가 커밋된 구성을 기반으로 아웃바운드 SSH 연결을 시작합니다. 디바이스는 성공할 때까지 이 연결을 반복적으로 시도합니다. 디바이스와 클라이언트 관리 애플리케이션 간의 연결이 끊어지면 디바이스는 성공할 때까지 새 아웃바운드 SSH 연결을 다시 생성하려고 시도합니다. 이 연결은 아웃바운드 SSH 스탠자가 구성에서 제거될 때까지 유지됩니다.
아웃바운드 SSH 연결을 위한 디바이스를 구성하려면 계층 수준에서 [edit system services] 문을 포함 outbound-ssh 합니다.
[edit system services outbound-ssh]
다음 항목에서는 아웃바운드 SSH 서비스를 구성하기 위한 작업에 대해 설명합니다.
- 아웃바운드 SSH 클라이언트에 공용 SSH 호스트 키 보내기
- 아웃바운드 SSH 연결에 대한 Keepalive 메시지 구성
- 새 아웃바운드 SSH 연결 구성
- NETCONF를 사용 가능한 서비스로 수락하도록 아웃바운드 SSH 클라이언트 구성
- 아웃바운드 SSH 클라이언트 구성
- 아웃바운드 SSH 클라이언트에 대한 라우팅 인스턴스 구성
아웃바운드 SSH 클라이언트에 공용 SSH 호스트 키 보내기
라우터 또는 스위치가 아웃바운드 SSH 연결을 설정할 때마다 먼저 관리 클라이언트에 시작 시퀀스를 보냅니다. 이 시퀀스는 관리 클라이언트에 대한 라우터 또는 스위치를 식별합니다. 이 변속기 내에는 의 device-id값이 있습니다.
라우터 또는 스위치의 디바이스 식별자를 구성하려면 계층 수준에서 문을 포함 device-id 합니다.[edit system services outbound-ssh client client-id]
[edit system services outbound-ssh client client-id] device-id device-id;
구성되지 않은 경우의 secret 시작 시퀀스:
MSG-ID: DEVICE-CONN-INFO\r\n MSG-VER: V1\r\n DEVICE-ID: <device-id>\r\n
SSH 연결을 초기화하는 동안 클라이언트는 디바이스의 공용 SSH 호스트 키를 사용하여 디바이스의 ID를 인증합니다. 따라서 클라이언트가 SSH 시퀀스를 시작하기 전에 클라이언트는 디바이스의 공용 SSH 키가 필요합니다. 문을 구성 secret 하면 디바이스가 아웃바운드 SSH 연결 시작 시퀀스의 일부로 공용 SSH 키를 전달합니다.
문이 secret 설정되고 디바이스가 아웃바운드 SSH 연결을 설정하면 디바이스는 디바이스 ID, 공용 SSH 키 및 문에서 secret 부분적으로 파생된 SHA1 해시를 통신합니다. 문의 값은 secret 디바이스와 관리 클라이언트 간에 공유됩니다. 클라이언트는 공유 비밀을 사용하여 수신 중인 공용 SSH 호스트 키를 인증하여 공개 키가 문으로 device-id 식별된 디바이스의 것인지 여부를 확인합니다.
문을 사용하여 secret 공용 SSH 호스트 키를 전송하는 것은 선택 사항입니다. 공개 키를 수동으로 전송하고 클라이언트 시스템에 설치할 수 있습니다.
문을 secret 포함한다는 것은 디바이스가 클라이언트에 연결을 설정할 때마다 공용 SSH 호스트 키를 전송한다는 것을 의미합니다. 그런 다음 클라이언트에 해당 디바이스에 대한 SSH 키가 이미 있는 경우 SSH 호스트 키로 수행할 작업을 결정하는 것은 클라이언트의 몫입니다. 클라이언트의 SSH 호스트 키 복사본을 새 키로 바꾸는 것이 좋습니다. 호스트 키는 다양한 이유로 변경될 수 있습니다. 연결이 설정될 때마다 키를 교체하면 클라이언트에 최신 키가 있는지 확인할 수 있습니다.
디바이스가 클라이언트에 연결될 때 라우터 또는 스위치의 공용 SSH 호스트 키를 보내려면 계층 수준에서 [edit system services outbound-ssh client client-id] 문을 포함 secret 합니다.
[edit system services outbound-ssh client client-id] secret password;
속성이 구성되면 secret 디바이스에서 다음 메시지가 전송됩니다.
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
아웃바운드 SSH 연결에 대한 Keepalive 메시지 구성
클라이언트 애플리케이션이 라우터 또는 스위치의 공용 SSH 호스트 키를 갖게 되면 마치 TCP/IP 연결을 만든 것처럼 SSH 시퀀스를 시작할 수 있습니다. 그런 다음 클라이언트는 라우터 또는 스위치의 공용 호스트 SSH 키 복사본을 해당 시퀀스의 일부로 사용하여 디바이스를 인증할 수 있습니다. 디바이스는 Junos OS Evolved (RSA/DSA 공용 문자열 또는 암호 인증)에서 지원되는 메커니즘을 통해 클라이언트 사용자를 인증합니다.
디바이스가 클라이언트 애플리케이션에 SSH 프로토콜 킵얼라이브 메시지를 전송할 수 있도록 하려면 계층 수준에서 문을 구성 keep-alive 합니다.[edit system services outbound-ssh client client-id]
[edit system services outbound-ssh client client-id]
keep-alive {
retry number;
timeout seconds;
}
새 아웃바운드 SSH 연결 구성
연결이 끊어지면 디바이스가 새 아웃바운드 SSH 연결을 시작합니다. 연결이 끊긴 후 디바이스가 서버에 다시 연결하는 방법을 지정하려면 계층 수준에서 [edit system services outbound-ssh client client-id] 문을 포함 reconnect-strategy 합니다.
[edit system services outbound-ssh client-id] reconnect-strategy (sticky | in-order);
재시도 횟수를 지정하고 다시 연결 시도가 중지될 때까지의 시간을 설정할 수도 있습니다. 아웃바운드 SSH 연결에 대한 Keepalive 메시지 구성을 참조하십시오.
NETCONF를 사용 가능한 서비스로 수락하도록 아웃바운드 SSH 클라이언트 구성
NETCONF를 사용 가능한 서비스로 받아들이도록 애플리케이션을 구성하려면 계층 수준에서 [edit system services outbound-ssh client client-id] 문을 포함 services netconf 합니다.
[edit system services outbound-ssh client client-id]
services {
netconf;
}
아웃바운드 SSH 클라이언트 구성
이 아웃바운드 SSH 연결에 사용할 수 있는 클라이언트를 구성하려면 계층 수준에서 별도의 주소 문과 함께 각 클라이언트를 나열하십시오.[edit system services outbound-ssh client client-id]
[edit system services outbound-ssh client client-id]
address address {
retry number;
timeout seconds;
port port-number;
}
아웃바운드 SSH 연결은 IPv4 및 IPv6 주소 형식을 지원합니다.
아웃바운드 SSH 클라이언트에 대한 라우팅 인스턴스 구성
관리 라우팅 인스턴스를 사용하려면 먼저 명령을 사용하여 라우팅 인스턴스를 mgmt_junos 사용하도록 설정합니다.set system management-instance
다른 라우팅 인스턴스를 사용하려면 먼저 계층에서 [edit routing-instances] 라우팅 인스턴스를 구성합니다.
라우팅 인스턴스를 지정하지 않으면 디바이스가 기본 라우팅 테이블을 사용하여 아웃바운드 SSH 연결을 설정합니다.
지정된 TCP 포트에서 NETCONF-Over-SSH 연결 구성
Junos OS Evolved를 사용하면 방화벽을 구성하지 않고 들어오는 NETCONF 연결을 지정된 TCP 포트로 제한할 수 있습니다. NETCONF-over-SSH 연결에 사용되는 TCP 포트를 구성하려면 계층 수준에서 [edit system services netconf ssh] 문을 포함 port 합니다. 구성된 포트는 NETCONF-over-SSH 세션만 허용합니다. 이 포트에 대한 정기적 SSH 세션 요청은 거부됩니다.
보안 셸(SSH)을 통한 NETCONF 구성 프로토콜을 사용하는 RFC 4742에 명시된 바와 같이 SSH를 통한 NETCONF 연결을 위해 기본 포트 830을 구성하거나 1에서 65535까지 포트를 구성할 수 있습니다.
-
기본 SSH 포트(22)는 구성된 NETCONF 서버 포트에서도 NETCONF 세션을 계속 수용합니다. SSH 포트가 NETCONF 세션을 수락하지 못하도록 비활성화하려면 로그인 이벤트 스크립트에서 이를 지정해야 합니다.
-
NETCONF-over-SSH 연결을 구성하기 위해 FTP(21) 및 Telnet(23) 서비스에 대한 기본 포트를 구성하는 것은 권장되지 않습니다.