問題タブ [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.
python - Python Paramiko (SSHClient)を使用してリモートファイルが書き込み可能かどうかを確認するには?
リモートファイルが書き込み可能か、paramiko を使用していないかを確認しようとしています。私の現在のコードは
しかし、これらの行を実行するとすぐに、シェルが動かなくなり、シェルを閉じる必要があります。助けてください..
ssh-keys - Paramiko: SSH ホスト キーの検証と永続的な追加
Paramiko を使用すると、次のように SSH キーのコールバックを設定できます。
コールバックは、SSH クライアント インスタンス、ホスト名、およびparamiko.RSAKey
インスタンスをパラメーターとして取得し、キーが受け入れられた場合は戻るか、そうでない場合は例外を発生させる必要があります。
提供されたパラメータを使用して SSH キーを確認するにはどうすればよいですか? たとえば、ユーザーが比較できるように RSA フィンガープリントを取得するにはどうすればよいでしょうか? また、Paramiko に "known_hosts" にキーを永続的に追加させることは可能ですか?
python - pythonparamiko接続を閉じるときに問題が発生する
とssh接続を試していますparamiko
。すべてが正常に見えますが、最後のステップで、close()
メソッドを呼び出してクライアントを切断します。
これが私のスクリプトです:
シェルがハングするだけです。結果なしで入力できます。Ctrl+CまたはCtrl+Dスクリプトも接続も停止しません。ちょっと汚れたシェルウィンドウを閉じる以外に方法はありません。
私はUbuntu10.10を実行してpython 2.6.6
おりparamiko-1.7.4
、ソースからコンパイルされています。
どうなるか本当にわかりません。メソッドは、close()
実行後も印刷「何とか」として正しく実行され、エラーメッセージは表示されず、適切な停止方法がなくても接続されたままになります。
私を助けてくれてありがとう :)
乾杯;
フィリップ
python - Cisco ルーターへの永続的な ssh セッション
このサイトと他の複数の場所を検索しましたが、1 つのコマンドの後、ssh セッションの接続と維持の問題を解決できませんでした。以下は私の現在のコードです:
複数のコマンドを実行できますが、コマンドごとに新しい ssh セッションが作成されます。ssh セッションが再利用されないため、構成モードが必要な場合、上記のプログラムは機能しません。この問題を解決するための支援をお願いします。
apache - Apache の Paramiko: DLL の読み込みに失敗しました
Paramiko を使用して他のリモート サーバーと通信する Django アプリがあります。Paramiko は modulewinrandom
に依存していますが、それがないと Windows にインストールされないgcc
ため、代わりに を使用しますwinrandom-ctypes
。
これはすべて開発段階から正常に動作しますが、Apache (Windows でも) にデプロイするとimport winrandom
、次のエラーで失敗します:
では...どうすればこれをApacheで動作させることができますか?
python - Paramiko ssh / scp 機能を Unix から Windows または Windows から Windows で使用する方法はありますか?
Unix から Windows または Windows から Windows に scp または ssh するために Python paramiko パッケージを使用する方法はありますか?
Windows から Unix へ、および Unix から Unix へは非常にうまく機能しますが、他の構成では機能しません。
私のコードは
次のエラー メッセージが表示されます
トレースバック (最新の呼び出しが最後):
file "paramiko_test_scp.py", line 50, in
client.connect ('192.168.0.10', 22, 'username', 'pwd')
File "C:\Python27\lib\site- packages\paramiko\client.py", line 291, connect
sock.connect(addr)
File "C:\Python27\lib\socket.py", line 224, in meth
return getattr(self._sock,name)(* args)
socket.error: [Errno 10061]
python - Python Paramiko を使用して SSH 接続を確立しようとすると、「getaddrinfo」エラーが発生する
Paramiko を使用してサーバーとの接続を確立しようとしていますが、その接続は次の出力で失敗しています
これが私が使用しているコードです
何か案は?
python - SFTP オブジェクトが辞書に格納されているときに Paramiko が EOFError() を発生させるのはなぜですか?
SSH 経由で他のボックスとの間でファイルをダウンロードおよびアップロードする、作成中のアプリケーションで問題が発生しています。私が経験している問題は、ファイルを正常に取得 (ダウンロード) できるが、ファイルを別のサーバーに配置 (アップロード) しようとすると EOFError() 例外が発生することです。paramiko\sftp.py の _write_all() を見たところ、ストリームにデータを書き込めなかったときにエラーが発生したように見えましたか? 私はネットワーク プログラミングの経験がないので、誰かがそれが何をしようとしているのかを知っていて、それを私に伝えることができれば、私はそれを感謝します.
接続を ssh() として処理する関数の単純化されたバージョンを作成しました。runCommand() はアプリケーションでアップロードが失敗する方法を示し、simpleTest() は sftp put がどのように機能するかを示しますが、SFTP オブジェクトの保存方法以外に runCommand() と simpleTest() の違いはわかりません。1 つはディクショナリに格納され、もう 1 つは単独で格納されます。辞書が問題で、ファイルのダウンロードがうまくいかないように思えますが、そうではありません。
誰かがこの動作の原因を知っているか、またはこの方法が問題を引き起こしている場合に接続を管理する別の方法を推奨できますか?
Paramiko 1.7.6 で Python 2.7 を使用しています。Linux と Windows の両方でこのコードをテストしましたが、同じ結果が得られました。
編集:コードが含まれています。
出力:
ssh - sshを介してサブシェルで実行されたコマンドの終了コードを取得できますか?
Paramikoを使用してデプロイメントスクリプトを作成しようとしていますが、実行するコマンドの終了コードに問題があります。この回答と同様のコードを使用していますが、もう少し複雑です。基本的に、開発ボックスからジャンプサーバーを経由し、そこから一連の本番マシンに移動する必要があります。そこで、システムユーザー(sudo su --systemuser)に切り替える必要があり、コマンドを実行できます。
問題は、私が理解しているように、sshセッション、ネストされたsshコマンド、そしてsuサブシェルの3つのサブシェルがあることです。Paramikoに内部サブシェルのコマンドの終了コードを返してもらうことができません-最終的に返される終了コードはsshコマンドの終了コードになると思います。この問題は実際にはParamikoに固有のものではないと思います-SSHプロトコルはこの種の使用法もサポートしていますか?
私は現在常に実行しています:
次に、これをクライアントで解析しますが、かなり醜いです-より良い方法はありますか?
python - paramikoでSFTP/SSHセッションのタイムアウトを防ぐ
paramikoを使用して、いくつかのファイルをダウンロードして処理する必要があるSFTPサーバーに接続しています。
サーバーのタイムアウトは5分に設定されていますが、ファイルの処理にタイムアウトよりも時間がかかる場合があります。したがって、他のファイルを処理するためにサーバーの作業ディレクトリを変更したい場合sftp.chdir(target_dir))
、接続がタイムアウトしたという例外が発生します。
ファイルbuildbdist.win32eggparamikosftp://ftp.py、138行目、_write_allでEOFError()を発生させます
これに対抗するために、キープアライブをアクティブ化するのが最善のオプションだと思ったので、トランスポートで「set_keepalive」を使用して30秒に設定しました。
しかし、何も変わりません。この変更による影響はまったくありません。set_keepalive
ここの概念を誤解しているのか、サーバー(アクセス権がない)がキープアライブパケットを無視しているのかはわかりません。
これはこの問題に対処する正しい方法ではありませんか、それとも別のアプローチを試す必要がありますか?ls
セッションを存続させるためにサーバーにコマンドを「手動で」送信するという考えは好きではありません。