1

テスト マシン (Windows XP) とコントローラー マシン (win 7) の間で ssh 接続を確立するために openSSH を使用しています。テスト マシンで ssh サーバーを構成したところ、ssh セッションを取得してコマンドを実行できました。この ssh セッションでコマンドを実行すると、パテ セッションに o/p が表示されますが、同じコマンドを使用して o/p を取得しようとすると、値が得られません。

XPボックスにopensshをインストールしました。これは、Windows v3.8.1p1-1のバージョンOpenSSHです。

これは、Windowsでsshを実行するように構成した方法です

C:\Documents and Settings\Administrator>cd c:\OpenSSH    
C:\OpenSSH>cd bin    
C:\OpenSSH\bin>mkgroup -l >> ..\etc\group    
C:\OpenSSH\bin>mkpasswd -l -u administrator >> ..\etc\passwd    
C:\OpenSSH\bin>net start opensshd
The requested service has already been started.

以下は同じための私のコードです

import paramiko


class TestSSH():

    def __init__(self):
        self.ip = "172.xxx.xxx.xxx"
        self.user = "Administrator"
        self.password = "passpass"


    def run(self):
        ssh_client = paramiko.SSHClient()
        ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh_client.connect(
            self.ip,
            username = self.user,
            password = self.password
        )
        std_in, std_out, std_err = ssh_client.exec_command("dir")

        print std_out.read()


obj = TestSSH()
obj.run()

これは私がパテセッションで取得しているo / pです-

Directory of C:\Documents and Settings\Administrator

11/14/2013  03:11 PM    <DIR>          .
11/14/2013  03:11 PM    <DIR>          ..
11/14/2013  03:12 PM    <DIR>          Desktop
07/27/2011  06:00 PM    <DIR>          Favorites
11/14/2013  03:11 PM    <DIR>          hemant
07/27/2011  06:00 PM    <DIR>          My Documents
07/27/2011  11:12 PM    <DIR>          Start Menu
               0 File(s)              0 bytes
               7 Dir(s)  39,932,612,608 bytes free

C:\Documents and Settings\Administrator>

しかし、私は何のo / pも取得していません

Windows名freeSSHdの他のsshutilityを試してみましたが、パテを介して接続してコマンドを実行できますが、接続することはできますが、コマンドを実行することはできません。freeSSHd サーバーで次のエラーが発生します。

Unable to execute command or shell on remote system: Failed to Execute process.

この o/p は std_err 変数ではなく std_out に入ります。

4

2 に答える 2