コードの利用目的
以下のPythonコードは、ネットワークデバイスへのSSH接続を確立し、そのデバイスタイプを自動検出することを目的としています。
コードはnetmikoというライブラリを使用しており、SSHを使ってネットワークデバイスに接続し、コマンドを実行することができます。
主にネットワークエンジニアがネットワークデバイスの種類を確認するために使用されることが多いです。
コード
#netmiko.ssh_autodetectからSSHDetectをインポート
from netmiko.ssh_autodetect import SSHDetect
#netmiko.ssh_dispatcherからConnectHandlerをインポート
from netmiko.ssh_dispatcher import ConnectHandler
#remote_deviceという辞書にネットワークデバイスの接続情報(デバイスタイプ、ホスト、ユーザー名、パスワード)を設定します。ここでは、デバイスタイプをautodetectに設定しています。
remote_device = {‘device_type’: ‘autodetect’,
‘host’: ‘1.1.1.1’,
‘username’: ‘admin’,
‘password’: ‘aaa’}
#SSHDetectクラスのインスタンスを作成し、autodetect()メソッドを使用してデバイスタイプを検出します。
survey = SSHDetect(**remote_device)
match_type = survey.autodetect()
#検出結果のデバッグ出力
print(“device_type: ” + match_type)
#自動検出した device_type を再設定する
remote_device[‘device_type’] = match_type
connection = ConnectHandler(**remote_device)
#切断
connection.disconnect()
デバイスタイプの確認結果
C:\Users\fcgaf\Desktop\xxx\python abc.py
device_type: cisco_ios
自動確認の結果、上記のように”cisco_ios”が返されます。