1

ncclient を使用して netconf に接続しています。ただし、Pythonを介して接続しようとするときはいつでも

「ncclient.transport.errors.SessionCloseError: Unexpected session close」エラーがスローされます。私が使用しているコードスニペットを以下に示します

manager.connect('<servername>',22,username='<username>')

これに関するヘルプは非常に高く評価されています。公開鍵を使用してリモートサーバーに接続できるため、接続でパスワードkを提供しませんでした

また、netconf サーバー ログで、アクセス拒否エラーを確認できます。(ユーザー名とpwdで試しても同じ問題が発生しました)

4

2 に答える 2

1

あなたは多くの情報を与えていません。

  1. のどのバージョンncclientを使用していますか?
  2. どのバージョンの Python を使用していますか?
  3. どの NETCONF 実装に接続しようとしていますか? これは、実際のスイッチまたはルーター、または実行中の Linux サーバーのようなものですlibnetconfyuma?

ここの情報に基づいて、いくつかのことが間違っていると想像できました。

  • paramikoSSH トランスポートを確立するために正しいキーを使用していません。
  • NETCONF サーバーではなく、SSH サーバーとの NETCONF セッションを確立しようとしています。

スクリプトで、次のようなログをいくつか作成してから、スクリプトmanager.logging.basicConfig(filename='ncclient.log', level=manager.logging.DEBUG)を再実行します。さらに情報が得られますか?

これは古い質問ですが、少なくとも正しい方向に向けることができれば幸いです。

于 2013-01-07T05:21:44.317 に答える
0

マシンがお互いを認識していない可能性があります (通常の ssh 経由で接続し、「unknown key, really connect (y/n)?」エラーが発生した場合など)。その場合、デフォルトではセッションは接続されません。この動作を変更するには、「unknown_host_cb」パラメーターを使用します。

def allowUnknownHosts(host,fingerprint):
  return True

self.manager = manager.connect(host=host, port=port, username=user,password=password, unknown_host_cb=allowUnknownHosts)
于 2013-02-01T18:32:09.277 に答える