MENU
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
カテゴリー
  • IT関連 (623)
    • Bootstrap (2)
    • クラウド (4)
    • サーバー技術 (185)
    • ストレージ (7)
      • NetApp (7)
    • ネットワーク技術 (91)
      • Cisco (36)
      • Juniper (18)
      • 負荷分散装置 (17)
    • パソコン関連 (92)
      • MAC (25)
      • Windows (54)
    • プログラミング (154)
      • Ansible (11)
      • C言語 (23)
      • Python (111)
        • Django (20)
    • 仮想化 (88)
      • Docker (63)
      • VMware (23)
  • VPS (200)
    • ABLENET VPS (16)
    • Amazon Lightsail(VPS) (2)
    • ConoHaVPS (37)
    • mixhostVPS (4)
    • WebARENAIndigo (16)
    • XServerVPS (34)
    • お名前.com VPS (12)
    • さくらのVPS (24)
    • カゴヤクラウドVPS (13)
    • シンVPS (7)
  • レンタルサーバー (56)
    • エックスサーバー (38)
  • 光回線 (8)
  • 技術スキルアップ開発・学習 (7)
    • Envader (2)
    • RareTECH (2)
    • Udemy (3)
もう現役20年超えましたー。経験値ならだれにも負けないエンジニア技術ブログ
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
  1. ホーム
  2. IT関連
  3. プログラミング
  4. Python
  5. 【Python】SSHで簡単にNW機器アクセスして出力表示プログラム(複数コマンド可能)

【Python】SSHで簡単にNW機器アクセスして出力表示プログラム(複数コマンド可能)

2020 5/29
Python
2020年1月19日2020年5月29日

ネットワークエンジニアのほとんどの方は「TeraTerm」の「マクロ」を利用して、自動でNW機器にアクセスし、情報を出力したりなどしています。
マクロではsshで自動でアクセスをしていますが、このようなことはPythonプログラムでも簡単に実施することができます。

今回は、Pythonのsshが利用できるモジュール「Paramiko」を使用してSSHの自動アクセスとコマンド出力を実施するプログラムを紹介します。

目次
安くて高速!高性能VPSで快適開発!
最速5分でサーバー構築
>>>こちらをチェック

エンジニア必見! 技術力を伸ばすVPS徹底比較
>>>VPS比較

「Paramiko」モジュールを使用してSSH接続をする(初級編)

NWエンジニアやサーバーエンジニアはNW機器にアクセスし作業をすることが多いです。
そのため毎回機器にアクセスするたびにログインID/パスワードを入力するのがめんどくさいですよね。

そんな時に、TeraTermの機能である「マクロ」を利用して自動でアクセスしてコマンド出力結果までを自動で出力することなどはよくあります。
そこで、自動で機器にアクセスをするためにSSHを利用します。

SSHとは

ということで、「SSH」ってなんなのかということですが、ネットワーク機器やPCへアクセスする手段の一つとなります。
最近では、このSSHでのアクセスが主流となっています。

以前まではtelnetを利用したアクセスが通常でしたが、telnetでは遠隔操作をする際に「平文」でやりとりをするので、第3者に盗聴や改ざんされる可能性が大いにあります。
そのため、SSHを利用することにより、データを暗号化してやりとりをし、盗聴や改ざんを受けにくくすることができます。

「Pramiko」を利用してPythonにSSH接続をする

PythonではSSHでアクセスするモジュールは複数ありますが、今回は「Paramiko」を使った方法を紹介します。
「Paramiko」を選んだ理由は、ネットでの情報が多いからですねw

さらにParamikoはSSHv2プロトコルが実装されており、クライアント機能とサーバー機能の両方を持っているところが特徴です。

「Paramiko」モジュールのインストール方法

PythonでSSHのプログラムを動かせるモジュール「Paramiko」は、pipコマンドでインストールをします。

$ pip install paramiko

正常にインストールされたら以下で、paramikoが正常に動作しているかを以下の「test.py」のようにプログラムを書き、実行してみましょう。

※ test.py

import paramiko
client = paramiko.SSHClient()

以下の実行結果のようにエラーが表示されなければ正常に動作しています。

※ 実行結果

$
$ python test.py
$

SSHでNW機器アクセスし&出力表示プログラム(複数コマンド可能)

以下では、SSHに自動にアクセスし、任意のコマンドを出力できる簡単なプログラムを作成しています。
一度の動作で複数機器にアクセスできるプログラムを作成しています。

また、ふくすの機器にアクセスできるように、関数を利用したプログラムにしています。
関数として「def」を利用していますので詳細は以下の記事を参考にしてください。

あわせて読みたい
【Python】defを使用した「関数」のプログラム作成 Pythonでもプログラムを追加していくとプログラム自体が長くなり、全体が見にくくなってしまったり、間違っている箇所や編集する箇所がわかりずらかったりします。 この...

import paramiko

def ssh_cmd(ip, user, password, cmd):
    client = paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client.connect(ip, username=user, password=password, port=22)

    stdin, stdout, stderr = client.exec_command(cmd)
    print('#############n---> command = ', cmd, 'n#############n')

    for o in stdout:
        print(o, end="")
    for e in stderr:
        print(e)
    return


#NW機器
ssh_cmd('192.168.1.2', 'admin', 'pass', 'show run',)

#Server機器
ssh_cmd('192.168.1.1', 'root', 'pass', 'df -hnlsnuname -a')

※ 実行結果

$ python3 ssh_test01.py 
#############
---> command =  ls 
#############

Applications
Desktop
Documents
Downloads
Dropbox
Library
Movies
Music
Pictures
Public
VirtualBox VMs
iCloud Drive(アーカイブ)
$ 

とりあえず、PythonでSSHのプログラムを作りたく、複数の処理を一度に実行したい方はぜひ今回の記事を参考にしてください。

エンジニアスキルをアップする勉強法

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

あわせて読みたい
現役エンジニアがおすすめするVPSレンタルサーバ比較(高速SSD限定) 格安VPS比較(2025年最新版)

Python
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする コメントをキャンセル

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)



検索
カテゴリー
新着記事
  • XServerVPS アニメ風 男の子 プログラミングをしている VPSを利用している 楽しそうにしている
    XServerVPSで証明書(SSL)を取得する方法
    2025年3月24日
    XServerVPS
  • レンタルサーバ アニメ風 女の子 楽しんでパソコンをしている 目がキラキラ
    WordPressがレンタルサーバよりVPSで利用する方がおすすめの理由
    2025年3月19日
    VPS
  • VPS レンタルサーバー アニメ風 女の子 プログラミングをしている VPSを利用している 楽しそうにしている
    VPSとクラウドの違いとは?初心者向けにわかりやすく解説
    2025年3月5日
    VPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSはWindows serverを利用できない。その理由と利用できるOSは?
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSでゲームを利用する環境はあるのか
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSのサイトの表示速度は他社に比べて早いのか?
    2025年3月4日
    シンVPS
目次
目次