Resolução de problemas de erros de conexão do Junos PyEZ
Resolução de problemas de erros de conexão recusados
Problema
Descrição
Ao usar o Junos PyEZ para gerenciar dispositivos Junos remotos, o código gera um erro de que a conexão foi recusada. Por exemplo:
jnpr.junos.exception.ConnectRefusedError
Causa
O NETCONF não está habilitado no dispositivo ou o número de conexões excede o limite.
A causa mais provável para um erro de conexão recusado é que a NETCONF sobre SSH não está habilitada no dispositivo Junos. Para testar rapidamente se o NETCONF está habilitado, verifique se a conta do usuário pode iniciar com sucesso uma sessão netconf com o dispositivo.
[user@server]$ ssh user@R1.example.com -p 830 -s netconf
Solução
Se o NETCONF não estiver habilitado no dispositivo Junos, habilite o NETCONF.
[edit] user@R1# set system services netconf ssh user@R1# commit
Se o número de sessões netconf exceder o limite, aumente o número máximo de sessões permitidas até 250. O padrão é 75.
[edit] user@R1# set system services netconf ssh connection-limit limit user@R1# commit
Resolução de problemas de erros de conexão junos PyEZ em scripts de eventos onbox
Problema
Descrição
Ao usar o Junos PyEZ em um script de evento de Python na caixa, o código gera uma mensagem do ConnectError fazendo referência ao usuário "ninguém". Por exemplo:
ConnectError(host: None, msg: user "nobody" does not have access privileges.)
Causa
Para evitar a execução de código Python não autorizado, por padrão, os dispositivos Junos executam scripts de eventos python usando os privilégios de acesso do usuário e grupo nobodygenéricos e desprivilegiados.
Solução
Para executar scripts de eventos usando os privilégios de acesso de um usuário específico, você deve configurar a python-script-user declaração para esse script de evento e especificar um usuário. O usuário configurado deve ter uma conta de usuário local no dispositivo.
[edit] user@host# set event-options event-script file filename python-script-user user user@host# commit
Você não pode configurar scripts de eventos python para executar com privilégios de acesso raiz.
Por exemplo:
[edit] user@host# set event-options event-script file bgp-neighbors.py python-script-user admin user@host# commit