Paramiko モジュールのインストールと使用 (リモート ログイン サーバー)
1: はじめに
Paramiko は Python 言語で書かれたモジュールで、SSH2 プロトコルに従い、暗号化と認証によるリモート サーバーへの接続をサポートします。
paramiko は Python のようなクロスプラットフォーム言語を使用しているため、Linux、Solaris、BSD、MacOS X、Windows など、Python でサポートされているすべてのプラットフォームをサポートできます。プラットフォームを別のプラットフォームに接続して一連の操作を実行する場合、paramiko は最適なツールの 1 つです。
一般的な例として、Windows クライアントを使用して Linux サーバーにリモート接続し、上記のログのステータスを確認する必要があるという要求があります。通常は次の方法を使用します。
1: Telnet を使用します
2: パテを使用する
3: WinSCP を使用する
4: XManager などを使用します...
サーバーからファイルをダウンロードする必要がある場合はどうすればよいですか?一般的に使用される方法は次のとおりです:
1: Linux に FTP をインストールし、設定します
2: Linux に Sambe をインストールし、設定します...
一般的なソリューションでは、リモート サーバーの必要な構成が必要であることがわかります。リモート サーバーが 1 つまたは 2 つしかない場合は、1 つずつ構成する必要があります。上記の操作を実行するにはコードを使用します。上記の方法はあまり便利ではありません。
paramiko を使用すると、以前の方法と比較して、対応するソフトウェア (Python と PyCrypto) をローカルにインストールするだけで済み、複数のサーバーを接続するための設定は必要ありません。特に接続操作が面倒です。
2: インストール
paramiko、Python、および PyCrypto と呼ばれる別のモジュールをインストールするには、2 つの前提条件があります。
通常、標準の Python モジュールをインストールするには、モジュールのルート ディレクトリで実行するだけです:
python setup.py ビルド
python setup.py install
上記の 2 つのコマンドで十分ですが、paramiko と PyCrypto も例外ではありません。唯一の問題は、PyCrypto をインストールするときに、GCC ライブラリがない場合にエラーが報告されることです。 PyCrypto と paramiko のインストールに失敗する原因となります。
以下では、paramiko のインストールプロセスを説明するために 32 ビット Windows XP を例にしています
1: Python をインストールします。バージョンは 2.2 以降です。インストール手順は省略し、インストール ディレクトリは c:python であるとします。
2: GCC がローカルにインストールされており、PATH 変数で見つかるかどうかを確認します。そうでない場合は、Windows バージョンの GCC、つまり MinGW を使用できます。ダウンロード アドレスは http://sourceforge.net/projects/mingw/ です。を実行し、ネットワーク インストール用の exe ファイルをダウンロードします。ディレクトリが C:mingw であると仮定し、C:mingwbin を PATH に追加し、c:pythonlibdistutils の下に distutils.cfg という名前の新しいファイルを作成します。
[build]
compiler=mingw32
3: PyCrypto をダウンロードします。アドレスは
です。https://www.dlitz.net/software/pycrypto/
PyCrypto をインストールします:
解凍
dos の下の解凍されたディレクトリに入り、実行します
C:pythonpython.exe setup.py build
C:pythonpython.exe setup.py install
インストール テスト
python.exe を実行し、プロンプトで次のように入力します:
Crypto のインポート
エラー メッセージが表示されない場合は、Crypto が正常にインストールされたことを意味します
4: paramiko をダウンロードします。アドレスは http://www.lag.net/paramiko/
解凍
dos の下の解凍されたディレクトリに入り、実行します
C:pythonpython.exe setup.py build
C:pythonpython.exe setup.py install
Test paramiko
python.exe を実行し、プロンプトで次のように入力します:
Import paramiko
エラー メッセージが表示されない場合、paramiko は正常にインストールされました
3: paramiko を使用する
paramiko のインストールがまだ少し面倒だと感じている場合でも、paramiko の利便性を利用すると、導入する価値があると感じられるでしょう。
以下は、paramiko を使用して Linux サーバーに接続するための 2 つのコードです
方法 1:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("IPアドレス",22,"ユーザー名","パスワード")
2行目の関数上記のコードは、know_hosts ファイルにないホストへの接続を許可します。
方法 2:
t = paramiko.Transport(("Host "," ポート"))
t.connect(ユーザー名 = "ユーザー名", パスワード = "パスワード")
リモート ホストに接続するためにキーが必要な場合は、上記のコードの 2 行目を次のように変更できます。
t.connect(username = "ユーザー名", パスワード = "パスワード", hostkey="key")
実際的な例を以下に示します:
3.1 Windows は Linux 上で任意のコマンドを実行し、結果を出力します
Linux サーバーがポート 22 を開いている場合、Windows 側では、paramiko を使用してサーバーにリモート接続し、任意のコマンドを実行し、印刷またはその他の方法で結果を取得できます。
#!/usr/bin/python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("IP アドレス",22,"ユーザー名", "パスワード")
stdin、stdout、stderr = ssh.exec_command("コマンド")
print stdout.readlines()
ssh.close()
「コマンド」には、一般的に使用されるコマンドなど、Linux でサポートされている任意のコマンドを指定できます。
df: ディスク使用量の表示
uptime: システム実行時間情報の表示
cat: ファイルの内容の表示
mv/cp/mkdir/rmdir: ファイルまたはディレクトリの操作
/sbin/service/ xxxservice start/stop/restart: サービスを開始、停止、再起動します
netstat -ntl |grep 8080: ポート 8080 の使用状況を確認します
または nc -zv localhost: すべてのポートの使用状況を確認しますポート 状況
find/-name XXX: ファイルを検索
このように、Linux上でのほとんどの操作をWindows側で完結させることができ、この機能を拡張すれば複数のサーバーを同時に管理することも可能になります。
3.2 Widnows 側から Linux サーバーにファイルをダウンロードする
#!/usr/bin/python
import paramiko
t = paramiko.Transport(("ホスト", "ポート"))
t.connect(username = "ユーザー名", パスワード = "パスワード")
sftp = paramiko.SFTPClient.from_transport( t)
remotepath='/var/log/system.log'
localpath='/tmp/system.log'
sftp.get(remotepath, localpath)
t.close()
3.3 widnows 側から Linux サーバーにファイルをアップロードする
#!/usr/bin/python
import paramiko
t = paramiko.Transport(("ホスト", "ポート"))
t.connect(username = "ユーザー名", パスワード = "パスワード")
sftp = paramiko.SFTPClient.from_transport( t )
remotepath='/var/log/system.log'
localpath='/tmp/system.log'
sftp.put(localpath,remotepath)
t.close()

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法
