問題タブ [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 - Paramiko の 1 つのセッションで複数のコマンドを実行するにはどうすればよいですか? (パイソン)
paramiko でコマンドを実行すると、exec_command を実行すると必ずセッションがリセットされます。sudo または su を実行できるようにしたいのですが、別の exec_command を実行するときにそれらの特権を引き続き使用したいと考えています。もう 1 つの例は、exec_command("cd /") を試行し、次に exec_command を再度実行して、ルート ディレクトリに置くことです。exec_command("cd /; ls -l") のようなことができることは知っていますが、別の関数呼び出しでそれを行う必要があります。
python - プログラムでtelnetのエスケープ文字を入力するにはどうすればよいですか?
私はparamikoを使用してリモートマシンにSSHで接続していますが、これは今のところ正常に機能しているようです
client.connect(hostname, port=ssh_port, username=username, key_filename=key_fname, password=password)
今度はリモートマシンからさらに深く掘り下げて使用する必要があります
stdin, stdout, stderr = client.exec_command('telnet localhost %d'%port)
使用して話し始めるための正しいハンドルを私に与えるようですstdin.write
私の問題は、完了したときに、telnetを正しく終了する方法がわからないことです。手動で行うと、Telnetにアクセスして、次のように表示さ れます。キーボードでEscape character is '^]'.
使用できCtrl+]
、小さなメニューがポップアップ表示されます。
次に、「e」を押すことで終了できます(「Enter」キーを必要とせずにすぐに終了します)
しかし、スクリプトでこれを実行しようとすると、、、、、などによって、スクリプトstdin.write('^]e')
が文字通りこれらの文字を入力していることがわかります。との間に少し入れても効果がないようです。 stdin.write('\^]e')
stdin.write('\c]e')
stdin.write('\M-\C-]e')
stdout.read()
time.sleep(0.1)
]
e
プログラムでそのエスケープシーケンスを入力するにはどうすればよいですか?
python - SSHを扱うpython [多くのクライアント]
私は 3 台のサーバー [ Linux ] を管理しており、これらのサーバーで 6 時間ごとにスクリプトをオンにする必要があります
そのため、それぞれにログインするのに少し時間がかかります..だから私はこのコードを作りました
まあ、それもうまくいきません;(接続を閉じたりスクリプトを終了したりせずに、それぞれを入力してスクリプトを実行し、別のサーバーに移動したいので、助けてください。
編集後
今、私はそれを編集し、新しい問題が発生しました
私はこれを私のコードに追加します:
そして、それぞれに異なるコマンドを与えて、それが機能するかどうかを確認すると、非常に奇妙な出力が得られました
['Linux xxxx 2.6.18-028stab070.14 #1 SMP Thu Nov 18 16:04:02 MSK 2010 x
86_64 x86_64 x86_64 GNU/Linux\n']
['Linux xxxx 2.6.18-028stab070.14 #1 SMP Thu Nov 18 16:04:02 MSK 2010 x
86_64 x86_64 x86_64 GNU/Linux\n']
[]
[]
[]
[]
私は、最初のサーバーがコマンドuname -a
を実行し、2 番目のls -la
サーバーがコマンドを実行すると言いましたが、同じコマンドを一緒に与えます 3 番目のサーバーは何も実行しません
python - スクリプト実行時間によるParamikoブロックのコマンド
こんにちはみんな私は3つのサーバーを持っていてSSHから管理しているので、このスクリプトを作成して登録スクリプト「Register.py」を実行しました。毎日登録モードをオンにしているので、他のサーバーを閉じずに複数のSSH接続にログインする方法に問題があります。
スクリプトを停止せずに3つのセッションを開くために私がしなければならないこと!!
python - paramikoで発生したエラーをどのように処理しますか?(Python)
sshサーバーに接続しようとしたときにparamikoによって発生したエラーを処理する方法を考えていましたか?
python - paramikoがこのコマンドを実行できないのはなぜですか?(Python)
paramikoのexec_commandを使用して、、cat
およびgrep
を実行できls
ますが、ファイルを変更しようとすると何も実行されません。私はすでにsu
この前に走りました。ファイルは、コマンドを実行する前とまったく同じままです。
python - Paramiko で sudo を実行するには? (パイソン)
私が試したこと:
invoke_shell()
その後channel.send
su
、パスワードを送信すると、ルートではなくなりましたinvoke_shell()
その後channel.exec_command
、「チャネル閉鎖」エラーが発生しました_transport.open_session()
その後channel.exec_command
、ルートにならないという結果になりましたinvoke_shell()
その後、stdin に書き込み、それをフラッシュすると、root ではなくなりました
python - Paramiko と Crypto のインポート エラー: winrandom をインポートする (python)
コマンドラインを使用してスクリプトを実行しようとすると、Windows マシン python 2.7 で実行すると、次のエラーが表示されます。
しかし、Python IDE を介してスクリプトを実行すると、このエラーは発生しません。
python - python paramiko パッケージを使用して複数のサーバーに同時に接続を確立する
サーバーAからサーバーBに直接ファイルを転送したい。この操作を実行するスクリプトは、Cなどの他のサーバーに常駐しています。サーバーCまたはローカルシステムにファイルを一時的に保存せずに、どのように実現できますか..
python - Paramiko 認証の検証 (Python の例外処理であることが判明)
SSH 接続に Paramiko を使用して Cisco ルーターから構成を取得するスクリプトを Python で作成しています。また、失敗することなく、デバイスのログイン資格情報が正しいことを確認しようとしています。
現在、資格情報が正しい場合、コードは接続して必要なコマンドを実行します。すごい!ただし、間違った資格情報を入力すると、スクリプトは認証エラーで失敗します。
コード:
プログラムを開始して間違った資格情報を入力すると、これが出力されます。
paramiko.AuthenticationException: 認証に失敗しました。
これは、資格情報が間違っていることはわかっていますが、スクリプトが失敗するだけでなく、問題を表示してスクリプトの残りの部分を実行し続けたいと考えています。
何か案は?