1

次のことを行う必要がある要件があります

Linuxボックスにsshし、コマンドを実行し、出力を取得する必要があり、いくつかの操作を行う必要があります。

それはpythonサブプロセスモジュールを介して可能ですか。

基本的に、Linuxボックスに接続するためのIPアドレス、ユーザー名、およびパスワードを指定し、コマンドを実行して出力を取得する.pyコードが必要です。

また、Python で利用可能な他のモジュールを介しても可能です。

提案は大歓迎です。

4

3 に答える 3

3

あなたの質問は「paramiko」でタグ付けされているので、それを使用してみませんか?

Linuxボックスにsshし、コマンドを実行し、出力を取得する必要があり、いくつかの操作を行う必要があります。

Linuxボックス(または他のsshサーバー)にsshします。

>>> import paramiko
>>> ssh=paramiko.SSHClient()
>>> ssh.load_system_host_keys()
>>> ssh.connect(hostname='localhost', username='haiprasan86', password='secret')
>>> print ssh
<paramiko.SSHClient object at 0xdf2590>

コマンドを実行します。

>>> _, out, err = ssh.exec_command('ls -l /etc/passwd')
>>> # block until remote command completes
>>> status = out.channel.recv_exit_status()
>>> print status
0

出力を取得します。

>>> print out.readlines()
['-rw-r--r--. 1 root root 2351 Mar 27 10:57 /etc/passwd\n']

どんな操作をしたいのかわからない。

于 2012-05-30T12:23:34.687 に答える
0

コマンドが1つだけの場合は、コマンドラインに追加するだけです。

ssh user@host "echo foo"

その後、fooを返します。ssh-agentリモートホストのファイルで公開鍵を使用する場合~/.ssh/authorized_keysは、パスワードを要求する必要もありません。

于 2012-05-30T11:53:06.710 に答える
0

他のオプションはfabricか、リモート コマンドfexpectと対話する必要がある場合です。

于 2012-08-17T11:54:27.090 に答える