【Python3】でSSH接続してみる手順を紹介。

Paramikoというモジュールを使っていきます。
SSHv2プロトコルを採用していて、2.7系と3.4以上のバージョンに対応しています。クライアントとサーバーの役割を担うのを補助します。

pip install paramiko

続いて、pythonファイルに下記のような感じで実装します。
セキュリティ的には、認証情報は別ファイルに分けて読み込むのが無難です。

# paramikoのインポート import paramiko # 認証情報 IP_ADDRESS = '192.168.0.117' USER_NAME = 'pi' PASSWORD = 'raspberry' # パスワードでなくキーファイルの場合は以下 KEY_FILENAME = '/Users/test/.ssh/aws.pem' # サーバー上で実行するコマンド cmd = 'sudo halt' # sshクライアントの作成 client = paramiko.SSHClient() # サーバーのホストキーが見つからなかった場合の設定 自動で追加したい場合はparamiko.AutoAddPolicy()に変更 client.set_missing_host_key_policy(paramiko.WarningPolicy()) # 上記で設定したIPアドレス、ユーザー名、キーファイルを渡す client.connect(IP_ADDRESS, username=USER_NAME, password=PASSWORD, #key_filename=KEY_FILENAME, timeout=3.9) # コマンドの実行 stdin, stdout, stderr = client.exec_command(cmd) # コマンド実行結果を変数に格納 cmd_result = '' for line in stdout: cmd_result += line # 実行結果を出力 print(cmd_result) # ssh接続断 client.close() # お作法 del client, stdin, stdout, stderr
Code language: PHP (php)

以上でTeraterm等を介さずとも、Python上にてSSH接続ができました。

.pyファイルに記述せずに対話型シェルで実行することも可能です。

その他のPython記事については下記をご覧ください。٩(๑❛ᴗ❛๑)

Pythonの新着記事一覧

【Selenium】SessionNotCreatedExceptionエラーが出た時の対処法
【SQlite3】”Cannot operate on a closed database.” と出る時の対処法
【初心者にオススメ】プログラミング言語Pythonで出来ること6選!
Pythonでランダムな時間(乱数)を生成させる方法
【randomモジュールに強くなる】
Pythonファイル実行時にERROR:network_service_instance_impl.cc(426)] Failed opening SSL key log fileと出た時の対処法
まる。

Python歴3年のフルスタックエンジニア兼ブロガー兼ヨギー。大学は心理学、趣味はヨガ。
名刺・HP制作やハタヨガレッスンやってます。

まる。をフォローする
タイトルとURLをコピーしました