这是我通过 SSH(Cygwin 服务器在 LAN 桌面上运行)从我的 Windows PC 连接到 Windows LAN 桌面的代码:

import paramiko 
ssh = paramiko.SSHClient() 
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
ssh.connect('135.24.237.178',username = 'cyg_server',password = 'sandforce') 

我能够成功连接。但是,现在如果我这样做:
command = "cd c:\;dir" 
stdin,stdout,stderr = ssh.exec_command(command) 
stdout.readlines() 

然后pyscripter不输出任何东西。谁能让我知道为什么以及如何使此代码起作用?

请您参考如下方法:

我无法复制您的问题。我正在使用这段代码:

client = paramiko.SSHClient() 
client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
client.connect(hostname, username = user, password = pw) 
command = "cd c:\;dir" 
stdin, out, err = client.exec_command(command) 
print "stdout: " + out.read() 

输出:
stdout:  
 
    Directory: C:\ 
 
 
Mode                LastWriteTime         Length Name                                              
----                -------------         ------ ----                                              
d-----        9/12/2016   7:34 AM                Logs                                              
d-----        9/26/2018   1:33 PM                Microsoft                                         
d-----        9/26/2018  11:47 AM                OpenSSH-Win32                                     
d-r---        9/27/2018   3:57 AM                Program Files                                     
d-----        9/26/2018  11:43 AM                Program Files (x86)                               
d-----        9/27/2018   3:56 AM                Python27                                          
d-----        9/26/2018  12:27 PM                support                                           
d-----        9/26/2018  12:27 PM                TEMP                                              
d-r---        9/27/2018   7:40 AM                Users                                             
d-----        9/27/2018   3:58 AM                Windows                                           
-a----        9/26/2018  11:42 AM            435 adrights.log                                      
-a----        9/27/2018   7:40 AM           6532 rshd.log                                          
-a----        9/26/2018  11:42 AM            107 rshdinst.log                                      
-a----        9/26/2018  11:47 AM            849 rshds.log                                         
-a----        9/26/2018  11:43 AM              0 validate.log  

我知道这不是答案,但它不适合评论。评论中提供的链接似乎也不是特别有用。这是我对这类事情的正常代码:
client = paramiko.SSHClient() 
client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
client.connect(hostname, username = user, password = pw) 
channel = client.get_transport().open_session() 
command = "cd c:\;dir" 
channel.exec_command(command) 
out = channel.makefile().read() 
err = channel.makefile_stderr().read() 
returncode = channel.recv_exit_status() 
channel.close()                       # channel is closed, but not the client 

希望这可以帮助。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!