【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】PythonでTimeタグのdatetime属性を取得する方法
Anaconda promptのベースディレクトリを変更する方法(Python)
Anaconda promptのフォントや背景色を自分好みにデザインする方法(Python)
DepthAIにてRuntimeError: Failed to find device after booting, error message: X_LINK_DEVICE_NOT_FOUNDと表示される場合の対処法
【VSCode】Pythonの仮想環境を5秒で切り替えるやり方!(Anaconda対応)
まる。

Python歴5年のフルスタックエンジニア&ヨギー。
大学は心理学専攻、趣味はヘルスケア全般。

最近は自作脳波デバイスとそれを使ったインタラクティブアートのチューニングに勤しみ中。コラボ・お仕事のご依頼はDM又はメールにて。

↓アートとかの趣味アカ。よかったらみてね。٩(๑❛ᴗ❛๑)
Instagram:@malmal0v0

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