問題タブ [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 から SSH トンネルを発信する際の問題
目的は、サテライト サーバーと中央のレジストリ データベースの間に n 個の ssh トンネルをセットアップすることです。サーバー間で公開鍵認証を既に設定しているので、パスワードのプロンプトなしですぐにログインできます。それで ?パラミコを試しました。まともなように見えますが、基本的なトンネルをセットアップするだけでもかなり複雑になります。私は Autossh を試してみましたが、動作中のトンネルをセットアップしてから 2 分後に停止します。奇妙なことです! Supervisord または monit でデーモン化および監視できる簡単なコード スニペットを誰かが手伝ってくれることを願っています。
python - paramikoの標準入力にEOFを送信するには?
ssh を介してプログラムを実行し、その入力をファイルからリダイレクトしたいと考えています。次のコードの動作:
(公開鍵認証を想定):
ただし、アプリケーションは追加の入力を待ってハングします。これは、標準入力ストリームが閉じられないために発生すると思います。それ、どうやったら出来るの?
python - Fabric が約 2 分間、サーバーからの切断メッセージを表示するのはなぜですか?
Disconnecting from username@server... done.
fab コマンドを発行するたびに、新しいコマンド プロンプトが表示される前に、Fabricがほぼ 2 分間表示されます。
この問題は、内部サーバーと Rackspace クラウド サーバーの両方に発行された Fabric コマンドを使用する場合に発生します。以下に、サーバーからの auth.log を含めましたが、MacBook のログには何も表示されませんでした。
問題が何であるかについて何か考えはありますか?
LogLevel VERBOSE のサーバーの SSH auth.log
サーバー構成
- OS: Ubuntu 9.10 および Ubuntu 6.10 (これらの OS で 4 台のサーバーをテスト済み)
- OpenSSH: Ubuntu パッケージ バージョン 1.5.1p1-6ubuntu2
クライアント構成
- OS: Mac OS X 10.6.3
- ファブリック ver 0.9
- 仮想環境 ver 1.4.7
- ピップ版 0.7
テストに使用する単純な fabfile.py
fab -H server_ip host_type
次のfabfileで実行しただけでも問題は解決しません。
問題の原因についての考え
この問題がいつまで続いているかは定かではありませんが、Fabric を使用してサーバーの切断が遅いことに気付き始めてから変更された点を以下にいくつか示します。
virtualenv 1.4.7、virtualenvwrapper 2.1、および pip 0.7 を使用して、virtualenv を再作成しました。これが関連しているかどうかはわかりませんが、virtualenv 内から fabfiles を実行しているので考えられます。OS X のファイアウォールを有効にしました。OS X のファイアウォールを無効にしても問題が解決しないため、これは問題ではありません。
python - プログラムで Paramiko の SSH トンネルをシャットダウンする
リモートデータベースにクエリを送信する目的で、paramiko モジュールを使用して、任意のサーバーへの SSH トンネルをオンデマンドで作成しようとしています。paramiko に同梱されている forward.py デモを使用しようとしましたが、大きな制限は、ソケット サーバーの起動後に SSH トンネルと SSH 接続を閉じる簡単な方法ではないように思われることです。
制限は、シェルからこれをアクティブにしてから、手動でシェルを強制終了してリスナーを停止できないことです。SSH 接続、トンネルを開き、トンネルを介していくつかのアクションを実行し、トンネルを閉じ、Python 内で SSH 接続を閉じる必要があります。
server.shutdown() メソッドへの参照を見てきましたが、それを正しく実装する方法が明確ではありません。
python - ParamikoとPseudo-ttyの割り当て
Paramikoを使用してリモートホストに接続し、いくつかのテキストファイル置換を実行しようとしています。
これらのコマンドの一部はsudoとして実行する必要があり、その結果、次のようになります。
sudo:申し訳ありませんが、sudoを実行するにはttyが必要です
-tスイッチとsshを使用してpseudo-tty割り当てを強制できます。
paramikoを使用して同じことを行うことは可能ですか?
python - Windows に paramiko をインストールする
これはSFで繰り返される質問のように聞こえるかもしれませんが、私はまだ明確な答えを見つけることができませんでした. 「setup.py install」コマンドで Paramiko 1.7 をインストールしましたが、demo.py プログラムの実行中に次のエラーが発生しました。
PyCrypto 2.1 をインストールした後でも、このエラーが発生します。test.py(インストールに付属)を実行すると、次のエラーが発生しました-
このすべての後、先に進んで AES をインストールする自信がありません。別の ImportError が発生する可能性があることはわかっています。アドバイスをお願いします。問題は取り付け方ですか?
python - parmiko/sshコマンドから出力が得られない
paramiko / ssh / pythonを使用して、リモートサーバーでコマンドを実行しようとしています。手動でsshを実行し、問題のコマンドを実行すると、希望する結果が得られます。しかし、以下のpython(このサイトの別のスレッドから採用)を使用すると、返されるデータはありません。コマンドを「pwd」や「ls」などのより基本的なものに変更すると、出力を取得できます。どんな助けでも大歓迎です。
ありがとう、マット
python - Paramiko を使用して SFTP に「put」
ファイルを配置できない次の Paramiko をインストールして作成しました。ls
ファイルを「取得」してコマンドを実行するのは簡単です。
「put」コマンドを使用すると、次のエラーとスタック トレースが表示されます -
どうすればこれを克服できますか?
python - paramiko.SSHClient()。exec_commandの引数をエスケープします
コマンドライン引数として安全に使用するために文字列をエスケープする最良の方法は何ですか?subprocess.Popen
usingがこのusingを処理することは知っていますlist2cmdline()
が、paramikoでは正しく機能しないようです。例:
これにより、文字通りという名前のファイルが作成されますfoo;uptime
。これが私が欲しいものです。比較:
これにより、というファイルが作成されfoo
、リモートホストの稼働時間が出力されます。uptime
最初のコマンドの引数の一部として使用するのではなく、2番目のコマンドとして実行されましたtouch
。これは私が望むものではありません。
に送信する前後にバックスラッシュでセミコロンをエスケープしようとしましたlist2cmdline
が、結局は。というファイルになりましたfoo\;uptime
。
uptime
また、の代わりにスペースを含むコマンドを使用すると、正しく機能します。
これにより、引用符で囲まれているfoo;echo test
ため、文字通り呼び出されるファイルが作成されます。list2cmdline
また、試しpipes.quote()
てみたところ、と同じ効果がありましたlist2cmdline
。
編集:明確にするために、受信する入力データに関係なく、リモートホストで実行されるコマンドが1つだけであることを確認する必要があります。つまり、、、、バックティックなどの文字をエスケープする必要が;
あり&
ます。
python - Paramiko SSH exec_command (シェル スクリプト) が完了前に戻る
Paramiko を使用して、リモートの Linux マシンからシェル スクリプトを起動します。シェル スクリプトが起動され、コマンドが実行されmake -j8
ます。ただし、exec_command
メイク完了前に返品。
ローカル マシンでスクリプトを起動すると、正しく実行されます。
誰かが私にこの振る舞いを説明してもらえますか?