Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos PyEZ 사용자 인증

요약 Junos PyEZ 애플리케이션은 암호 및 SSH 키를 포함한 표준 SSH 인증 메커니즘을 사용하여 사용자를 인증할 수 있습니다.

Junos PyEZ 사용자 인증 개요

Junos PyEZ를 사용하면 SSH를 통해 시리얼 콘솔 연결, 텔넷 또는 NETCONF 세션을 사용하여 Junos 디바이스에 직접 연결하고 관리할 수 있습니다. 또한 Junos PyEZ는 텔넷 또는 SSH 연결을 통해 디바이스의 CONSOLE 포트에 연결된 콘솔 서버에 연결하는 것도 지원합니다. 디바이스는 연결 방법에 따라 암호 또는 기타 표준 SSH 인증 메커니즘을 사용하여 사용자를 인증할 수 있어야 합니다. SSH 연결을 통해 Junos 디바이스를 관리할 때 디바이스에 액세스하는 가장 편리하고 안전한 방법은 SSH 키를 구성하는 것입니다. SSH 키를 사용하면 원격 디바이스가 신뢰할 수 있는 사용자를 식별할 수 있습니다.

관리되는 Junos 디바이스에 액세스할 수 있는 모든 사용자 계정을 사용하여 디바이스 작업을 수행할 수 있습니다. 클래스의 새 인스턴스를 jnpr.junos.device.Device 만들 때 사용자를 명시적으로 정의할 수 있으며, 매개 변수 목록에 사용자를 지정하지 않은 경우 사용자의 기본값은 $USER.

SSH 연결의 경우, Junos PyEZ는 인수 목록에 다른 구성 파일을 지정하는 인수가 ssh_config 포함되어 있지 않는 한 Device ~/.ssh/config(있는 경우)의 기본 SSH 구성 파일을 자동으로 쿼리합니다. Junos PyEZ는 사용자 또는 ID 파일과 같은 인수 목록의 인수 Device 에 의해 재정의되지 않는 지정된 연결에 대해 SSH 구성 파일의 모든 관련 설정을 사용합니다.

Junos PyEZ 클라이언트가 SSH를 사용하여 Junos 디바이스 또는 디바이스에 연결된 콘솔 서버에 연결할 때, Junos PyEZ는 먼저 SSH 공개 키 기반 인증을 시도한 다음 암호 기반 인증을 시도합니다. SSH 키가 사용 중일 때 제공된 암호는 개인 키의 잠금을 해제하기 위한 암호로 사용됩니다. 암호 기반 인증을 사용하는 경우 제공된 암호가 장치 암호로 사용됩니다. SSH 공개 키 기반 인증을 사용 중이고 SSH 개인 키에 빈 암호가 있는 경우 암호가 필요하지 않습니다. 그러나 빈 암호를 사용하는 SSH 개인 키는 권장되지 않습니다.

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

암호를 사용하여 Junos PyEZ 사용자 인증

암호를 사용하여 Junos PyEZ 사용자를 인증하려면 다음을 수행합니다.

  1. 즐겨 찾는 편집기에서 .py 파일 확장명을 사용하는 새 파일을 만듭니다.

    이 예에서는 파일 이름 junos-pyez-pw.py 사용합니다.

  2. 연결할 호스트 이름과 Junos 디바이스의 사용자 이름 및 암호를 묻는 메시지를 표시하고 각 값을 변수에 저장하는 코드를 포함합니다.
  3. Junos PyEZ 클라이언트가 콘솔 서버에 대한 SSH 연결을 통해 디바이스에 연결하는 경우, 콘솔 서버 사용자 이름과 암호를 묻는 메시지를 표시하고 각 값을 변수에 저장하는 코드를 포함합니다.
  4. 생성자 인수 Device 목록에서 다음을 수행합니다.
    • host 호스트 이름이 포함된 변수에 인수를 설정합니다

    • userpasswd 인수를 Junos OS 로그인 자격 증명이 포함된 변수로 설정합니다

    • Junos PyEZ 클라이언트가 SSH를 사용하여 콘솔 서버를 통해 연결하는 경우, 콘솔 서버 로그인 자격 증명이 cs_user 포함된 변수에 및 cs_passwd 인수를 설정합니다.

    • 연결 방법에 필요한 추가 인수를 포함합니다

    다음 예제에서는 서로 다른 각 연결 메서드에 대한 샘플 코드를 제공합니다.

    참고:

    Junos OS를 실행하는 모든 플랫폼에는 암호 없이 기본적으로 구성된 루트 사용자만 있습니다. Junos PyEZ를 사용하여 콘솔 연결을 통해 신규 또는 제로화된 디바이스를 처음 구성할 때는 를 사용하고 user='root'매개 변수를 생략합니다 passwd .

  5. 호스트 이름, Junos OS 사용자 이름 및 암호, 콘솔 서버 사용자 이름 및 암호(요청 시)를 묻는 메시지를 표시하고 명령줄에서 암호를 에코하지 않는 Junos PyEZ 코드를 실행합니다.

SSH 키를 사용하여 Junos PyEZ 사용자 인증

Junos PyEZ 애플리케이션에서 SSH 키를 사용하려면 먼저 구성 관리 서버에서 키를 생성하고 Junos PyEZ 클라이언트가 연결할 각 디바이스에서 공개 키를 구성해야 합니다. Junos 디바이스에 직접 연결하려면 해당 디바이스에서 키를 구성합니다. 콘솔 서버를 통해 Junos 디바이스에 연결하려면 콘솔 서버에서 키를 구성합니다. 키를 사용하려면 인수 목록에 적절한 인수를 Device 포함해야 합니다.

Junos PyEZ는 SSH 키 에이전트에 능동적으로 로드되는 SSH 키, 기본 위치 또는 사용자 정의 위치에서 생성된 키, 암호 보호를 사용하거나 사용하지 않는 키를 활용할 수 있습니다. Junos 디바이스에 직접 연결할 때 인수가 Device 암호 또는 SSH 키 파일을 지정하지 않으면 Junos PyEZ는 먼저 SSH 키 에이전트에 능동적으로 로드된 SSH 키를 확인한 다음 기본 위치에서 SSH 키를 확인합니다. 콘솔 서버에 연결할 때 암호로 보호된 키만 지원됩니다.

다음 섹션에서는 SSH 키를 생성하고, Junos 디바이스에서 키를 구성하고, 키를 사용하여 매니지드 디바이스에 연결하는 단계를 간략하게 설명합니다.

SSH 키 생성 및 구성

구성 관리 서버에서 SSH 키를 생성하고 Junos 디바이스에서 공개 키를 구성하려면 다음을 수행합니다.

  1. 서버에서 원하는 사용자에 대한 공용 및 개인 SSH 키 쌍을 생성하고 필수 또는 원하는 옵션(예:
  2. (선택 사항) 기본 SSH 키 에이전트에 키를 로드합니다.
  3. Junos PyEZ 애플리케이션이 연결될 각 디바이스에서 공개 키를 구성하며, 여기에는 Junos 디바이스 또는 Junos 디바이스에 연결된 콘솔 서버가 포함될 수 있습니다.

    Junos 디바이스의 적절한 사용자 계정으로 공개 키를 구성하는 한 가지 방법은 파일에서 공개 키를 로드하는 것입니다.

  4. 키를 사용하여 디바이스에 로그인하여 키가 작동하는지 확인합니다.

Junos PyEZ 애플리케이션의 참조 SSH 키

SSH 키 쌍을 생성하고 원격 디바이스에서 공개 키를 구성한 후, 생성자 코드에 적절한 인수를 포함하여 키를 사용하여 디바이스에 연결할 수 있습니다 Device . 인수는 Device 키의 위치, 키가 암호로 보호되는지 여부, 키가 ssh-agent와 같은 SSH 키 에이전트에 능동적으로 로드되는지 여부 및 사용자의 SSH 구성 파일이 해당 호스트에 대한 설정을 이미 정의하는지 여부에 따라 결정됩니다. 다음 섹션에서는 다양한 시나리오에 대해 간략하게 설명합니다.

능동적으로 로드된 키와 함께 SSH 키 에이전트를 사용하여 사용자 인증

SSH 키 에이전트를 사용하여 개인 키를 안전하게 저장하고 암호로 보호된 키의 암호를 반복적으로 다시 입력하지 않도록 할 수 있습니다. Junos PyEZ를 사용하면 클라이언트가 SSH 키 에이전트에 능동적으로 로드되는 SSH 키를 사용하여 Junos 디바이스에 직접 연결할 수 있습니다. Junos 디바이스에 연결할 때 인수가 Device 암호 또는 SSH 키 파일을 지정하지 않으면 Junos PyEZ는 먼저 SSH 키 에이전트에 능동적으로 로드된 SSH 키를 확인한 다음 기본 위치에서 SSH 키를 확인합니다.

네이티브 SSH 키 에이전트에 능동적으로 로드된 SSH 키를 사용하여 Junos 디바이스에 직접 연결하려면 다음을 수행합니다.

  • Device 인수 목록에서 필요한 호스트 이름과 원하는 변수만 제공하면 됩니다.

암호 보호 없이 SSH 키를 사용하여 사용자 인증

Junos PyEZ를 사용하면 클라이언트가 암호로 보호되지 않는 SSH 프라이빗 키를 사용하여 Junos 디바이스에 직접 연결할 수 있지만, 빈 암호로 SSH 프라이빗 키를 사용하는 것은 권장하지 않습니다. Junos PyEZ는 빈 암호가 있는 SSH 프라이빗 키를 사용하여 콘솔 서버에 연결하는 것을 지원하지 않습니다.

기본 위치에 있고 암호로 보호되지 않는 SSH 키를 사용하여 Junos 디바이스에 연결하려면 다음을 수행합니다.

  • Device 인수 목록에서 필요한 호스트 이름과 원하는 변수만 제공하면 됩니다.

Junos PyEZ는 먼저 활성 SSH 키 에이전트에 로드된 SSH 키를 확인한 다음 기본 위치에서 SSH 키를 확인합니다.

기본 위치에 없고 암호로 보호되지 않는 SSH 키를 사용하여 Junos 디바이스에 연결하려면 다음을 수행합니다.

  • Device 인수 목록에서 인수를 ssh_private_key_file SSH 프라이빗 키의 경로로 설정합니다.

    참고:

    사용자의 SSH 구성 파일이 지정된 호스트에 대한 로컬 SSH 프라이빗 키 파일 경로를 이미 지정하는 경우 인수 목록에서 인수를 생략 ssh_private_key_file 할 수 있습니다 Device . 인수를 ssh_private_key_file 포함하면 사용자의 SSH 구성 파일에서 호스트에 대해 정의된 모든 기존 IdentityFile 값을 대체합니다.

암호로 보호된 SSH 키 파일을 사용하여 사용자 인증

Junos PyEZ 클라이언트는 암호로 보호된 SSH 키 파일을 사용하여 Junos 디바이스에 직접 연결하거나 디바이스에 연결된 콘솔 서버에 연결할 수 있습니다.

암호로 보호된 SSH 키 파일을 사용하여 Junos 디바이스에 직접 연결하려면 다음을 수행합니다.

  1. SSH 개인 키 암호를 묻는 메시지를 표시하고 변수에 값을 저장하는 코드를 포함합니다.
  2. Device 인수 목록에서 SSH 키 파일 암호가 포함된 변수를 참조하도록 인수를 설정합니다passwd.

    키가 기본 위치에 없고 파일 경로가 사용자의 SSH 구성 파일에 아직 정의되어 있지 않은 경우 인수를 ssh_private_key_file 프라이빗 키의 경로로 설정합니다.

암호로 보호된 SSH 키 파일을 사용하여 콘솔 서버를 통해 Junos 디바이스에 연결하려면 다음을 수행합니다.

  1. Junos 디바이스에 대한 로그인 자격 증명을 요청하고 각 값을 변수에 저장하는 코드를 포함합니다.

  2. 콘솔 서버 사용자 이름 및 SSH 개인 키 암호를 묻는 메시지를 표시하고 각 값을 변수에 저장하는 코드를 포함합니다.

  3. 생성자 인수 Device 목록에서 다음을 수행합니다.

    • 인수를 host 콘솔 서버 호스트 이름 또는 IP 주소로 설정합니다

    • userpasswd 인수를 Junos OS 로그인 자격 증명이 포함된 변수로 설정합니다

    • cs_user 콘솔 서버 사용자 이름을 포함하는 변수에 인수를 설정합니다

    • 인수를 cs_passwd SSH 키 파일 암호가 포함된 변수로 설정합니다

    • ssh_private_key_file 키가 기본 위치에 없고 파일 경로가 사용자의 SSH 구성 파일에 아직 정의되어 있지 않은 경우 인수를 개인 키의 경로로 설정합니다