Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Estabeleça uma conexão SSH para uma sessão netconf

Entenda as sessões do NETCONF sobre SSH

Você pode usar o protocolo SSH para estabelecer conexões entre um servidor de gerenciamento de configuração (CMS) e um dispositivo Junos. Você usa um servidor de gerenciamento de configuração para gerenciar o dispositivo Junos remotamente.

Você pode usar as seguintes opções para estabelecer uma conexão SSH entre o servidor de gerenciamento de configuração e o dispositivo Junos.

  • SSH — O servidor de gerenciamento de configuração inicia uma sessão de SSH com o dispositivo Junos.

  • SSH de saída — o dispositivo Junos inicia, estabelece e mantém uma conexão SSH com um conjunto predefinido de servidores de gerenciamento de configuração. Use essa opção quando o servidor de gerenciamento de configuração não puder iniciar uma conexão SSH devido a restrições de rede (como um firewall).

Nota:

O Junos OS inclui uma implementação personalizada do OpenSSH para gerenciamento de dispositivos. As correções de segurança são retroportadas conforme necessário, independentemente dos números das versões do OpenSSH. A versão exibida na saída CLI (por exemplo show version) pode não refletir todos os patches aplicados. Consulte sempre os Avisos de Segurança (JSAs) da Juniper para avaliações de impacto de vulnerabilidades.

Pré-requisitos comuns para sessões NETCONF sobre SSH ou SSH de saída

Para sessões netconf que usam SSH ou SSH de saída, você deve instalar software SSH no servidor de gerenciamento de configuração e habilitar o serviço NETCONF no dispositivo Junos. Veja as seções a seguir para obter instruções detalhadas:

Instale software SSH no servidor de gerenciamento de configuração

Para conexões SSH, o servidor de gerenciamento de configuração (CMS) lida com a conexão SSH com o dispositivo Junos. Para conexões SSH de saída, o dispositivo Junos estabelece a conexão SSH com o servidor de gerenciamento de configuração e, em seguida, o servidor de gerenciamento de configuração assume o controle da sessão de SSH.

Para estabelecer um SSH ou uma conexão SSH de saída com um dispositivo, o servidor de gerenciamento de configuração deve ter o software SSH instalado localmente. Para obter e instalar o software SSH, veja:

Habilite o serviço NETCONF no SSH

Para estabelecer sessões netconf em um dispositivo Junos, você deve habilitar o serviço NETCONF. Você pode configurar o servidor NETCONF para aceitar sessões netconf nas seguintes portas:

  • Porta NETCONF padrão (830) ou uma porta definida pelo usuário

  • Porta SSH padrão (22)

Recomendamos que você use a porta NETCONF padrão porque ela permite que o dispositivo identifique e filtre o tráfego NETCONF de forma mais eficaz. Como alternativa, você pode configurar o dispositivo para aceitar sessões netconf em um número de porta de sua escolha, em vez da porta NETCONF padrão. A porta definida aceita apenas sessões NETCONF-over-SSH e rejeita solicitações regulares de sessão de SSH.

Se você habilita o NETCONF e também habilita serviços SSH no dispositivo, o dispositivo aceita sessões NETCONF tanto na porta SSH padrão quanto na porta NETCONF configurada (porta padrão ou definida pelo usuário). Para maior segurança, você pode configurar políticas de eventos que utilizam UI_LOGIN_EVENT informações para desabilitar efetivamente a porta SSH de aceitar sessões netconf ou restringir ainda mais o acesso ao servidor NETCONF em uma porta.

Para habilitar o serviço NETCONF sobre SSH em um dispositivo Junos:

  1. Habilite o serviço NETCONF na porta NETCONF padrão (830) ou em uma porta definida pelo usuário:

    • Para usar a porta NETCONF padrão (830), inclua a netconf ssh declaração no nível de [edit system services] hierarquia:

    • Para usar uma porta específica, configure a port declaração com o número de porta no nível de [edit system services netconf ssh] hierarquia.

      A port-number pode variar de 1 a 65535. A porta configurada aceita apenas sessões NETCONF-over-SSH e rejeita solicitações regulares de sessão de SSH.

      Nota:

      Embora você possa configurar o NETCONF em qualquer porta de 1 a 65535, você não deve configurar o acesso em uma porta que normalmente é atribuída para outro serviço. Essa prática evita possíveis conflitos de recursos. Se você configurar uma porta designada para outro serviço, como o FTP, e esse serviço estiver habilitado, não revelará commit check um conflito de recursos ou emitirá qualquer mensagem de aviso.

  2. (Opcional) Para também permitir o acesso ao subsistema NETCONF SSH usando a porta SSH padrão (22), inclua a ssh declaração no nível de [edit system services] hierarquia.

    Essa configuração permite o acesso SSH ao dispositivo para todos os usuários e aplicativos.

    Nota:

    Em versões em que o comportamento padrão é restringir o usuário raiz de usar o serviço SSH, você deve configurar a root-login allow declaração no nível de [edit system services ssh] hierarquia para permitir que o usuário raiz abra sessões netconf no SSH.

  3. (Opcional) Configure o dispositivo para desconectar clientes NETCONF sem resposta.

    Especifique o intervalo de tempo limite (em segundos) após o qual, se nenhum dados tiver sido recebido do cliente, o processo sshd solicita uma resposta. Além disso, especifique o limite de respostas perdidas com vida do cliente que desencadeiam uma desconexão.

    Nota:

    As declarações configuradas no nível de [edit system services netconf ssh] hierarquia aplicam-se apenas às sessões netconf que se conectam através da porta padrão (830) ou através da porta definida pelo usuário que está configurada no mesmo nível de hierarquia.

  4. Confirmar a configuração:

  5. Repita as etapas anteriores em cada dispositivo Junos, onde o aplicativo cliente estabelece sessões NETCONF.

Pré-requisitos para estabelecer uma conexão SSH para sessões netconf

Antes que o servidor de gerenciamento de configuração possa estabelecer uma conexão SSH com um dispositivo Junos, você deve satisfazer os requisitos comuns discutidos em:

Você também deve satisfazer os requisitos discutidos nas seguintes seções:

Configure uma conta de usuário para o aplicativo cliente em dispositivos Junos

O servidor de gerenciamento de configuração deve fazer login no dispositivo Junos para estabelecer uma sessão NETCONF. Assim, o servidor de gerenciamento de configuração precisa de uma conta de usuário em cada dispositivo onde estabelece uma sessão NETCONF. As instruções a seguir explicam como criar uma conta de usuário local em dispositivos Junos. Como alternativa, você pode pular esta seção e habilitar a autenticação por RADIUS ou TACACS+.

Para criar uma conta de usuário local:

  1. Configure a user declaração e especifique um nome de usuário. Inclua a class declaração e especifique uma aula de login que tenha as permissões necessárias para que todas as ações sejam realizadas pelo aplicativo.
  2. Opcionalmente, inclua as declarações e uid as full-name declarações no nível hierárquicos[edit system login user username].
  3. Comprometa a configuração para ativar a conta do usuário no dispositivo.
  4. Repita as etapas anteriores em cada dispositivo Junos, onde o aplicativo cliente estabelece sessões NETCONF.

Configure um keypair ou senha público/privado para a conta de usuário do Junos OS

O servidor de gerenciamento de configuração precisa de um keypair público/privado SSH, uma senha baseada em texto ou ambos para autenticar com o servidor NETCONF. Um keypair é suficiente se a conta for usada apenas para se conectar ao servidor NETCONF por meio de SSH. Se a conta também for usada para acessar o dispositivo de outras maneiras (para fazer login no console, por exemplo), ela deve ter uma senha baseada em texto. A senha também é usada (o servidor SSH solicita isso) se a autenticação baseada em chave estiver configurada, mas falhar.

Nota:

Você pode pular esta seção se tiver escolhido habilitar a autenticação por RADIUS ou TACACS+.

Para criar uma senha baseada em texto:

  1. Inclua a declaração ou encrypted-password a plain-text-password declaração no nível hierárquico[edit system login user username authentication].

    Para inserir uma senha como texto, emita o seguinte comando. Você é solicitado para obter a senha, que o dispositivo criptografa antes de armazenar.

    Para inserir uma senha que você criou e hashed anteriormente usando MD5 ou SHA-1, emita o seguinte comando:

  2. Confirmar a configuração.
  3. Repita as etapas anteriores em cada dispositivo onde o aplicativo cliente estabelece sessões NETCONF.

Para criar um keypair público/privado SSH, execute as seguintes etapas:

  1. No servidor de gerenciamento de configuração onde o aplicativo cliente é executado, emita o ssh-keygen comando no shell de comando padrão e forneça os argumentos apropriados.

    Por exemplo:

    Para obter mais informações sobre ssh-keygen opções, consulte a página do homem para o ssh-keygen comando.

  2. Associe a chave pública com a conta de login do Junos OS.

    O Junos OS copia o conteúdo do arquivo especificado no dispositivo. URL é o caminho para o arquivo que contém uma ou mais chaves públicas. O ssh-keygen comando por padrão armazena cada chave pública em um arquivo no subdiretório .ssh do diretório doméstico do usuário; o nome do arquivo depende da codificação e versão SSH. Para obter informações sobre como especificar URLs, consulte o Guia do usuário da CLI.

    Nota:

    Como alternativa, você pode incluir a ssh-rsa declaração no nível de [edit system login user account-name authentication] hierarquia. No entanto, recomendamos usar a load-key-file declaração porque ela elimina a necessidade de digitar ou cortar e colar a chave pública na linha de comando.

  3. Confirmar a configuração.

  4. Repita a Etapa 2 e a Etapa 3 em cada dispositivo Junos, onde o aplicativo do cliente estabelece sessões NETCONF.

Acesse as chaves ou a senha com o aplicativo do cliente

O aplicativo cliente deve ser capaz de acessar o keypair ou senha configurado e fornecê-lo quando o servidor NETCONF solicitar isso.

Existem vários métodos para permitir que o aplicativo acesse a chave ou a senha:

  • Se forem usadas chaves públicas/privadas, o programa ssh-agent será executado no dispositivo onde o aplicativo cliente é executado e lida com a chave privada.

  • Quando um usuário inicia o aplicativo, o aplicativo solicita a senha ao usuário e a armazena temporariamente de forma segura.

  • A senha é armazenada em forma criptografada em um local seguro de disco local ou em um banco de dados seguro.

Pré-requisitos para estabelecer uma conexão SSH de saída para sessões NETCONF

Para permitir que um servidor de gerenciamento de configuração estabeleça uma conexão SSH de saída com o servidor NETCONF, você deve satisfazer os requisitos comuns discutidos em:

Você também deve satisfazer os requisitos discutidos nas seguintes seções:

Configure o dispositivo Junos para SSH de saída

Para configurar o dispositivo Junos para SSH de saída:

  1. No nível de [edit system services ssh] hierarquia, definir o SSH protocol-version para v2:
  2. Gere ou obtenha um keypair público/privado para o dispositivo Junos. Este keypair é usado para criptografar os dados transferidos pela conexão SSH.
  3. Se você estiver instalando manualmente a chave pública no servidor de gerenciamento de configuração, transfira a chave pública para o CMS.
  4. No nível de [edit system services] hierarquia, inclua a hierarquia de outbound-ssh configuração e quaisquer declarações necessárias.

    Para obter informações detalhadas sobre cada uma das opções, consulte outbound-ssh.

  5. Confirmar a configuração:

Receba e gerencie a sequência de iniciação de SSH de saída no cliente

Quando você configura um dispositivo Junos para SSH de saída, o dispositivo tenta manter uma conexão constante com um servidor de gerenciamento de configuração. Sempre que uma sessão de SSH de saída não é estabelecida, o dispositivo envia uma sequência de iniciação SSH de saída para um servidor de gerenciamento de configuração listado na lista de servidores de gerenciamento de configuração do dispositivo. Antes de estabelecer uma conexão com o dispositivo, cada servidor de gerenciamento de configuração deve ser configurado para receber essa sequência de iniciação, estabelecer uma conexão TCP com o dispositivo e transmitir a identidade do dispositivo de volta ao dispositivo.

A sequência de iniciação requer um dos dois formulários, dependendo de como você escolheu lidar com a chave pública do servidor Junos OS.

Se a chave pública for instalada manualmente no servidor de gerenciamento de configuração, a sequência de iniciação toma o seguinte formulário:

Se o dispositivo encaminhar a chave pública para o servidor de gerenciamento de configuração durante a sequência de inicialização, a sequência assume a seguinte forma:

Tabela de histórico de mudanças

O suporte de recursos é determinado pela plataforma e versão que você está usando. Use o Feature Explorer para determinar se um recurso é suportado em sua plataforma.

Soltar
Descrição
15.1
A partir do Junos OS Release 15.1, o Junos OS oferece suporte a conexões SSH de saída com dispositivos que têm endereços IPv6.