2012-04-23 9 views
3

でTelnetを使用して、リモートマシン上でコマンドを実行します。私は、Telnetを使用してリモートマシン上でコマンドを実行したいと思いますPython(サブプロセス)でスクリプトを作成し、それを1行に記述する必要があります。あるいは、同じことをする他の方法はありますか?は1行

何か助けていただければ幸いです。

ありがとうございました。

+1

この便利なですか?プロセスの標準にデータを送信するには、stdin = PIPEを指定してPopenオブジェクトを作成する必要があります。 http://docs.python.org/library/subprocess.html#popen-objects – shruthi

+0

はい、 'stdin'と' stdout'の両方を使ってTelnetバイナリと通信することができます。しかし、なぜ私は示唆したように 'telnetlib'を代わりに使用しないのですか? – zigg

答えて

1

subprocessに頼るのではなく、代わりにtelnetlibのPythonの組み込みを試すことができます。 http://docs.python.org/library/telnetlib.html#telnet-example

SSHがターゲットシステム上で利用可能である場合、私は個人的にも見るでしょう:ほぼ正確に何をしたいん

A完全な例は、ドキュメントの例として提供されています。セキュリティで保護された接続を使用するだけでなく、SSHキーを設定して、単一のコマンド(例:ssh [email protected] ls -l)を実行するためのSSHの組み込みサポートを使用することもできます。

+0

ここで提案したtelnetlibを使用して、リモートサーバー上ですべてのコマンドを実行できますか? –

0

おそらくthis解決策は役に立ちますが、そこに記載されているように、ユーザー/パスワード認証が必要な場合には機能しません。

手動のユーザー/パスワード認証をスキップするには、sshキーの設定が必要です。これについての短い説明がここにあります:SSH to a server without password for Admin Ease

0
#!/bin/sh 
empty -f -i in -o out telnet foo.bar.com 
empty -w -i out -o in "ogin:" "luser\n" 
empty -w -i out -o in "assword:" "TopSecret\n" 
empty -s -o in "who am i\n" 
empty -s -o in "exit\n" 

http://empty.sourceforge.net/

関連する問題