問題タブ [paramiko]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
13 に答える
321457 参照

python - Pythonでscpするには?

Pythonでファイルをscpする最もpythonicな方法は何ですか? 私が知っている唯一のルートは

これはハックであり、Linux のようなシステム以外では機能せず、リモート ホストにパスワードなしの SSH が設定されていない限り、パスワード プロンプトを回避するために Pexpect モジュールの助けが必要です。

Twisted のことは知ってconchいますが、低レベルの ssh モジュールを介して自分で scp を実装することは避けたいと思います。

私はparamiko、SSH と SFTP をサポートする Python モジュールを認識しています。ただし、SCP には対応していません。

背景: SFTP をサポートしていないが、SSH/SCP をサポートしているルーターに接続しているため、SFTP はオプションではありません。

編集:これは、SCPまたはSSHを使用してPythonでファイルをリモートサーバーにコピーする方法の複製です? . ただし、その質問は、Python 内からのキーを処理する scp 固有の回答を提供しません。のようなコードを実行する方法を望んでいます

0 投票する
2 に答える
6804 参照

python - ParamikoSSHClientクラスの出力の抑制

ParamikoSSHClientクラスのconnect関数を呼び出すと、接続の確立に関するログデータが出力されますが、これは抑制したいと思います。

Paramiko自体、または一般的なPythonを介してこれを行う方法はありますか?

0 投票する
7 に答える
154591 参照

python - Paramiko でインタラクティブ コマンドを実行する

paramiko を介して対話型コマンドを実行しようとしています。cmd を実行するとパスワードの入力が求められますが、paramiko の exec_command でパスワードを入力する方法がわかりません。実行がハングします。cmd の実行でインタラクティブな入力が必要な場合に、端末に値を送信する方法はありますか?

これに対処する方法を知っている人はいますか?ありがとうございました。

0 投票する
3 に答える
6150 参照

python - モジュールのロード中に Paramiko を使用するとハングするのはなぜですか?

以下をファイルhello.pyに入れます(easy_install paramikoまだ取得していない場合):

最初の行を適切に入力します。

今すぐ入力

ls の出力が表示されます。

代わりに入力します

そして、インタプリタ型の中から

そして出来上がり!ハングします!コードを関数でラップしfooimport hello; hello.foo()代わりに実行すると、ハングが解除されます。

モジュールの初期化で Paramiko を使用するとハングするのはなぜですか? そもそもParamikoは、モジュールの初期化中に使用されていることをどのように認識していますか?

0 投票する
3 に答える
23568 参照

python - paramiko を使用してリモート ホストにパスが存在するかどうかを確認する

Paramiko のSFTPClientには明らかにメソッドがありませんexists。これは私の現在の実装です:

これを行うより良い方法はありますか?例外メッセージの部分文字列をチェックするのはかなり見苦しく、信頼できない場合があります。

0 投票する
1 に答える
8846 参照

python - Windows に Paramiko をインストールする場合、Python Crypto パッケージはどこにありますか?

ここで推奨されているように、Windowsで実行されているPythonからSFTPを実行し、Paramikoをインストールしようとしています。残念ながら、Crypto.Util.randpool を要求するので、Crypto パッケージをインストールする必要があります。Linux 用の RPMS は見つかりましたが、Windows 用のソース コードも何も見つかりません。

Paramiko の readme には次のように記載されてい ます

残念ながら、そのリンクは機能しません。PCrypto のホームページからのリンクもありません。

これを克服する方法はありますか?

0 投票する
1 に答える
1400 参照

python - 認証タイプのparamikoのget_allowed_auths()

Pythonで実行中のSSHサーバーからサポートされている認証タイプ/メソッドを取得しようとしています。

ParamikoのServerInterfaceクラスでこのメソッドget_allowed_auths()を見つけましたが、単純なクライアントのようなコードスニペットで使用できるかどうかわかりません(このタスクでのみ実行されるものを作成しています)。

誰かが私に例とのいくつかのリンク、他の配布ドキュメントを提案することができますか?多分これを行うための他のアイデアはありますか?

ありがとう。

0 投票する
5 に答える
116815 参照

python - Python を使用して SSH でサーバーからファイルを読み取る

Python から SSH を使用してサーバーからファイルを読み込もうとしています。Paramikoを使って接続しています。サーバーに接続して次のようなコマンドを実行し、サーバーcat filenameからデータを取得できますが、読み取ろうとしているファイルのサイズは約 1 GB 以上です。

Pythonを使用してサーバー上のファイルを1行ずつ読み取るにはどうすればよいですか?

追加情報: 定期的に行うことは、cat filenameコマンドを実行して結果を変数に格納し、それを処理することです。しかし、ここにあるファイルは非常に大きいため、サーバーからファイルを 1 行ずつ読み取る方法を探しています。

編集: 一連のデータを読み取って行に分割することはできますが、問題は、バッファーで受信したデータに必ずしも完全な行が含まれているとは限らないことです。たとえば、バッファに 300 行ある場合、最後の行はサーバー上の行の半分にすぎず、次の半分はサーバーへの次の呼び出しで取得されます。完全な線が欲しい

編集 2: ファイル内の特定の範囲の行を出力するために使用できるコマンドは何ですか。最初の 100 行を印刷し、次に次の 100 行などを印刷するように? このようにして、バッファには常に完全な行が含まれます。

0 投票する
3 に答える
7104 参照

python - paramiko でスレッドのクリーンアップを解決する

paramiko を使用して自動化されたプロセスがあり、次のエラーが発生します。

クリーンアップ/スレッド化の問題であることは理解していますが、修正方法がわかりません。

私は最新バージョン (1.7.6) を持っており、このスレッドによると解決されたので、コードを直接ダウンロードしましたが、それでもエラーが発生します。

この障害は、winxp/win2003 の下の Python 2.5/2.6 で発生します。

__del__デストラクタで接続を閉じてから、スクリプトの終了前に接続を閉じますが、どれも機能しません。これを使用すると、以前にエラーが発生したため、インタープリターのシャットダウンとは関係ないのではないでしょうか??

0 投票する
2 に答える
2662 参照

python - paramiko を使用してリモート ホストへの接続が存在するかどうかを確認する

paramiko.SSHClient()リモートマシンでコマンドを実行するために単一のオブジェクトを使用しています。を使用ssh.exec_command(cmd)していて、リモート ホストへの接続が失われると、ssh.exec_commandハングアップします。

前に接続の存在を確認する方法はありssh.exec_command()ますか?