Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Establecer una conexión SSH para una sesión NETCONF

Descripción de las sesiones de NETCONF a través de SSH

Puede utilizar el protocolo SSH para establecer conexiones entre un servidor de administración de configuración (CMS) y un dispositivo Junos. Utilice un servidor de administración de configuración para administrar el dispositivo Junos de forma remota.

Puede utilizar las siguientes opciones para establecer una conexión SSH entre el servidor de administración de configuración y el dispositivo Junos.

  • SSH: el servidor de administración de configuración inicia una sesión SSH con el dispositivo Junos.

  • SSH saliente: el dispositivo Junos inicia, establece y mantiene una conexión SSH con un conjunto predefinido de servidores de administración de configuración. Utilice esta opción cuando el servidor de administración de configuración no pueda iniciar una conexión SSH debido a restricciones de red (como un firewall).

Nota:

Junos OS incluye una implementación personalizada de OpenSSH para la administración de dispositivos. Las correcciones de seguridad se portan según sea necesario, independientemente de los números de versión de OpenSSH. Es posible que la versión que se muestra en la salida de la CLI (por ejemplo, show version) no refleje todos los parches aplicados. Consulte siempre los avisos de seguridad de Juniper (JSA) para obtener evaluaciones del impacto de la vulnerabilidad.

Requisitos previos comunes para sesiones de NETCONF a través de SSH o SSH saliente

Para las sesiones de NETCONF que utilizan SSH o SSH saliente, debe instalar el software SSH en el servidor de administración de configuración y habilitar el servicio NETCONF en el dispositivo Junos. Consulte las siguientes secciones para obtener instrucciones detalladas:

Instalar software SSH en el servidor de administración de configuración

Para las conexiones SSH, el servidor de administración de configuración (CMS) maneja la conexión SSH con el dispositivo Junos. Para las conexiones SSH salientes, el dispositivo Junos establece la conexión SSH con el servidor de administración de configuración y, a continuación, el servidor de administración de configuración toma el control de la sesión SSH.

Para establecer una conexión SSH o SSH saliente con un dispositivo, el servidor de administración de configuración debe tener software SSH instalado localmente. Para obtener información acerca de cómo obtener e instalar software SSH, consulte:

Habilitar el servicio NETCONF a través de SSH

Para establecer sesiones de NETCONF en un dispositivo Junos, debe habilitar el servicio NETCONF. Puede configurar el servidor NETCONF para aceptar sesiones de NETCONF en los siguientes puertos:

  • Puerto NETCONF predeterminado (830) o un puerto definido por el usuario

  • Puerto SSH predeterminado (22)

Le recomendamos que utilice el puerto NETCONF predeterminado porque permite que el dispositivo identifique y filtre el tráfico de NETCONF de manera más eficaz. Como alternativa, puede configurar el dispositivo para que acepte sesiones de NETCONF en un número de puerto de su elección en lugar del puerto NETCONF predeterminado. El puerto definido solo acepta sesiones NETCONF a través de SSH y rechaza las solicitudes de sesión SSH regulares.

Si habilita NETCONF y también habilita los servicios SSH en el dispositivo, el dispositivo acepta sesiones de NETCONF tanto en el puerto SSH predeterminado como en el puerto NETCONF configurado (puerto predeterminado o definido por el usuario). Para mayor seguridad, puede configurar políticas de eventos que utilicen UI_LOGIN_EVENT información para deshabilitar eficazmente el puerto SSH para que no acepte sesiones de NETCONF o para restringir aún más el acceso al servidor de NETCONF en un puerto.

Para habilitar el servicio NETCONF a través de SSH en un dispositivo Junos:

  1. Habilite el servicio NETCONF en el puerto NETCONF predeterminado (830) o en un puerto definido por el usuario:

    • Para utilizar el puerto NETCONF predeterminado (830), incluya la netconf ssh instrucción en el nivel de [edit system services] jerarquía:

    • Para utilizar un puerto específico, configure la port instrucción con el número de puerto en el nivel jerárquico [edit system services netconf ssh] .

      La port-number lata varía de 1 a 65535. El puerto configurado solo acepta sesiones NETCONF a través de SSH y rechaza las solicitudes de sesión SSH regulares.

      Nota:

      Aunque puede configurar NETCONF en cualquier puerto del 1 al 65535, no debe configurar el acceso en un puerto que normalmente se asigna para otro servicio. Esta práctica evita posibles conflictos de recursos. Si configura un puerto asignado para otro servicio, como FTP, y ese servicio está habilitado, a no revela un commit check conflicto de recursos ni emite ningún mensaje de advertencia.

  2. (Opcional) Para habilitar también el acceso al subsistema SSH de NETCONF mediante el puerto SSH predeterminado (22), incluya la ssh instrucción en el nivel de [edit system services] jerarquía.

    Esta configuración permite el acceso SSH al dispositivo para todos los usuarios y aplicaciones.

    Nota:

    En las versiones en las que el comportamiento predeterminado es restringir el uso del servicio SSH por parte del usuario raíz, debe configurar la root-login allow instrucción en el nivel de [edit system services ssh] jerarquía para permitir que el usuario raíz abra sesiones de NETCONF a través de SSH.

  3. (Opcional) Configure el dispositivo para desconectar los clientes NETCONF que no responden.

    Especifique el intervalo de tiempo de espera (en segundos) después del cual, si no se han recibido datos del cliente, el proceso sshd solicita una respuesta. Además, especifique el umbral de respuestas vivas del cliente perdidas que desencadenan una desconexión.

    Nota:

    Las instrucciones configuradas en el nivel de [edit system services netconf ssh] jerarquía sólo se aplican a las sesiones de NETCONF que se conectan a través del puerto predeterminado (830) o a través del puerto definido por el usuario que está configurado en el mismo nivel de jerarquía.

  4. Confirme la configuración:

  5. Repita los pasos anteriores en cada dispositivo Junos donde la aplicación cliente establezca sesiones NETCONF.

Requisitos previos para establecer una conexión SSH para sesiones de NETCONF

Antes de que el servidor de administración de configuración pueda establecer una conexión SSH con un dispositivo Junos, debe cumplir los requisitos comunes descritos en:

También debe cumplir los requisitos descritos en las siguientes secciones:

Configurar una cuenta de usuario para la aplicación cliente en dispositivos Junos

El servidor de administración de configuración debe iniciar sesión en el dispositivo Junos para establecer una sesión de NETCONF. Por lo tanto, el servidor de administración de configuración necesita una cuenta de usuario en cada dispositivo donde establece una sesión NETCONF. Las siguientes instrucciones explican cómo crear una cuenta de usuario local en dispositivos Junos. Alternativamente, puede omitir esta sección y habilitar la autenticación a través de RADIUS o TACACS+.

Para crear una cuenta de usuario local:

  1. Configure la instrucción y especifique un nombre de user usuario. Incluya la class instrucción y especifique una clase de inicio de sesión que tenga los permisos necesarios para que la aplicación realice todas las acciones.
  2. Opcionalmente, incluya las full-name instrucciones y uid en el nivel jerárquico[edit system login user username].
  3. Confirme la configuración para activar la cuenta de usuario en el dispositivo.
  4. Repita los pasos anteriores en cada dispositivo Junos donde la aplicación cliente establezca sesiones NETCONF.

Configurar un par de claves pública y privada o una contraseña para la cuenta de usuario de Junos OS

El servidor de administración de configuración necesita un par de claves pública/privada SSH, una contraseña basada en texto o ambas para autenticarse con el servidor NETCONF. Un par de claves es suficiente si la cuenta se usa solo para conectarse al servidor NETCONF a través de SSH. Si la cuenta también se utiliza para acceder al dispositivo de otras maneras (para iniciar sesión en la consola, por ejemplo), debe tener una contraseña basada en texto. La contraseña también se utiliza (el servidor SSH la solicita) si la autenticación basada en claves está configurada pero falla.

Nota:

Puede omitir esta sección si ha elegido habilitar la autenticación a través de RADIUS o TACACS+.

Para crear una contraseña basada en texto:

  1. Incluya la plain-text-password instrucción o encrypted-password en el [edit system login user username authentication] nivel jerárquico.

    Para escribir una contraseña como texto, emita el siguiente comando. Se le pedirá la contraseña, que el dispositivo cifra antes de almacenar.

    Para ingresar una contraseña que creó previamente y hashed usando MD5 o SHA-1, emita el siguiente comando:

  2. Confirme la configuración.
  3. Repita los pasos anteriores en cada dispositivo donde la aplicación cliente establezca sesiones NETCONF.

Para crear un par de claves pública/privada SSH, realice los pasos siguientes:

  1. En el servidor de administración de configuración donde se ejecuta la aplicación cliente, emita el ssh-keygen comando en el shell de comandos estándar y proporcione los argumentos adecuados.

    Por ejemplo:

    Para obtener más información acerca ssh-keygen de las opciones, consulte la página man del ssh-keygen comando.

  2. Asocie la clave pública con la cuenta de inicio de sesión de Junos OS.

    Junos OS copia el contenido del archivo especificado en el dispositivo. URL es la ruta de acceso al archivo que contiene una o varias claves públicas. El ssh-keygen comando almacena de forma predeterminada cada clave pública en un archivo en el subdirectorio .ssh del directorio principal del usuario; el nombre de archivo depende de la codificación y la versión SSH. Para obtener información acerca de cómo especificar URL, consulte la Guía del usuario de CLI.

    Nota:

    Como alternativa, puede incluir la ssh-rsa instrucción en el nivel jerárquico [edit system login user account-name authentication] . Sin embargo, se recomienda usar la load-key-file instrucción, ya que elimina la necesidad de escribir o cortar y pegar la clave pública en la línea de comandos.

  3. Confirme la configuración.

  4. Repita los pasos 2 y 3 en cada dispositivo Junos en el que la aplicación cliente establezca sesiones de NETCONF.

Acceda a las claves o contraseña con la aplicación cliente

La aplicación cliente debe poder tener acceso al par de claves o contraseña configurado y proporcionarlo cuando el servidor NETCONF lo solicite.

Existen varios métodos para permitir que la aplicación acceda a la clave o contraseña:

  • Si se utilizan claves públicas/privadas, el programa ssh-agent se ejecuta en el dispositivo donde se ejecuta la aplicación cliente y controla la clave privada.

  • Cuando un usuario inicia la aplicación, la aplicación le pide la contraseña y la almacena temporalmente de forma segura.

  • La contraseña se almacena de forma cifrada en una ubicación de disco local segura o en una base de datos segura.

Requisitos previos para establecer una conexión SSH saliente para sesiones de NETCONF

Para permitir que un servidor de administración de configuración establezca una conexión SSH saliente con el servidor NETCONF, debe cumplir los requisitos comunes descritos en:

También debe cumplir los requisitos descritos en las siguientes secciones:

Configurar el dispositivo Junos para SSH saliente

Para configurar el dispositivo Junos para SSH saliente:

  1. En el nivel jerárquico[edit system services ssh], establezca el SSH protocol-version en v2:
  2. Genere u obtenga un par de claves pública y privada para el dispositivo Junos. Este par de claves se utiliza para cifrar los datos transferidos a través de la conexión SSH.
  3. Si va a instalar manualmente la clave pública en el servidor de administración de configuración, transfiera la clave pública al CMS.
  4. En el nivel de [edit system services] jerarquía, incluya la jerarquía de outbound-ssh configuración y las instrucciones necesarias.

    Para obtener información detallada acerca de cada una de las opciones, consulte outbound-ssh.

  5. Confirme la configuración:

Recibir y administrar la secuencia de iniciación SSH saliente en el cliente

Cuando configura un dispositivo Junos para SSH saliente, el dispositivo intenta mantener una conexión constante con un servidor de administración de configuración. Cuando no se establece una sesión SSH saliente, el dispositivo envía una secuencia de iniciación SSH saliente a un servidor de administración de configuración que aparece en la lista de servidores de administración de configuración del dispositivo. Antes de establecer una conexión con el dispositivo, cada servidor de administración de configuración debe estar configurado para recibir esta secuencia de inicio, establecer una conexión TCP con el dispositivo y transmitir la identidad del dispositivo de vuelta al dispositivo.

La secuencia de inicio adopta una de dos formas, dependiendo de cómo haya elegido manejar la clave pública del servidor de Junos OS.

Si la clave pública se instala manualmente en el servidor de administración de configuración, la secuencia de inicio adopta la forma siguiente:

Si el dispositivo reenvía la clave pública al servidor de administración de configuración durante la secuencia de inicialización, la secuencia adopta la siguiente forma:

Tabla de historial de cambios

La compatibilidad con las funciones viene determinada por la plataforma y la versión que esté utilizando. Utilice el Explorador de características para determinar si una característica es compatible con su plataforma.

Lanzamiento
Descripción
15.1
A partir de Junos OS versión 15.1, Junos OS admite conexiones SSH salientes con dispositivos que tienen direcciones IPv6.