読み方 : パラミコ

Paramiko

Paramikoとは?

PythonからSSH接続を扱うためのライブラリ。リモートサーバへのログインコマンド実行、ファイル転送といった操作をPythonプログラムに組み込むことができ、サーバ管理やインフラ運用の自動化に広く使われている。
Paramikoのイメージ画像

SSHSecure Shell)はネットワーク越しに別のコンピュータを安全に遠隔操作するためのプロトコルで、通常は専用のターミナルソフトSFTPクライアントを通じて人間が手動で操作する。Paramikoを使うと、こうした作業をPythonスクリプトに組み込んで自動化できる。Paramiko自体にSSHv2プロトコルPythonで実装されており、外部のSSHコマンドに依存せず動作する。

接続の確立にはホスト名ポート番号、認証情報を指定する。認証方式はパスワード認証公開鍵認証の両方に対応しており、RSAECDSAなど複数の鍵方式をサポートする。既知ホスト鍵の確認機能も備え、接続先サーバの正当性を検証できる。サーバ側に特別なソフトウェアを追加する必要はなく、一般的なSSHサーバが動作していれば接続可能である。

接続後はSSHセッションを通じてコマンドを送信し、標準出力標準エラー出力、終了コードをPython側で受け取れる。ファイル転送にはSFTPインターフェースが用意されており、アップロードダウンロード、一覧取得、削除といった操作が可能である。複数のサーバに順番にログインして同じ処理を実行する運用スクリプトや、ログ収集、ソフトウェア更新の自動化といった用途でよく用いられる。AnsibleなどのIT自動化ツールもParamikoを内部的に利用している。

Python標準ライブラリにはSSH機能が含まれていないため、SSH操作を必要とするプログラムでは外部ライブラリとして導入する。pipインストールでき、暗号処理にはcryptographyライブラリ依存関係として使用する。WindowsLinux、macOSなど異なる環境でも同一のコードで動作する。ライセンスLGPLであり、商用プロジェクトへの組み込みも可能である。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。