Junos PyEZ接続エラーのトラブルシューティング
接続拒否エラーのトラブルシューティング
問題
形容
Junos PyEZを使用してリモートJunosデバイスを管理すると、接続が拒否されたというエラーがコードによって生成されます。例えば:
jnpr.junos.exception.ConnectRefusedError
原因
デバイスでNETCONFが有効になっていないか、接続数が制限を超えています。
接続拒否エラーの原因として最も可能性が高いのは、JunosデバイスでSSH経由のNETCONFが有効になっていないことです。NETCONF が有効になっているかどうかを迅速にテストするには、ユーザ アカウントがデバイスとの NETCONF セッションを正常に開始できることを確認します。
[user@server]$ ssh user@R1.example.com -p 830 -s netconf
解決
JunosデバイスでNETCONFが有効になっていない場合は、NETCONFを有効にします。
[edit] user@R1# set system services netconf ssh user@R1# commit
NETCONF セッションの数が制限を超える場合は、許可されるセッションの最大数を 250 まで増やします。デフォルトは75です。
[edit] user@R1# set system services netconf ssh connection-limit limit user@R1# commit
オンボックスイベントスクリプトのJunos PyEZ接続エラーのトラブルシューティング
問題
形容
オンボックスの Python イベント スクリプトで Junos PyEZ を使用すると、コードによってユーザー "nobody" を示す ConnectError メッセージが生成されます。例えば:
ConnectError(host: None, msg: user "nobody" does not have access privileges.)
原因
許可されていないPythonコードの実行を防ぐために、Junosデバイスはデフォルトで、一般的な非特権ユーザーおよびグループ nobodyのアクセス権限を使用してPythonイベントスクリプトを実行します。
解決
特定のユーザーのアクセス権限を使用してイベントスクリプトを実行するには、そのイベントスクリプトに python-script-user ステートメントを設定し、ユーザーを指定する必要があります。設定されたユーザーは、デバイスのローカルユーザーアカウントを持っている必要があります。
[edit] user@host# set event-options event-script file filename python-script-user user user@host# commit
Pythonイベントスクリプトをrootアクセス権限で実行するように設定することはできません。
例えば:
[edit] user@host# set event-options event-script file bgp-neighbors.py python-script-user admin user@host# commit