python 机器B远程控制另一台机器A执行某操作并在A上显示结果

WinterToday 2017-10-11 10:33:00
请问
paramiko里的
stdin, stdout, stderr = ssh.exec_command('mosquitto')
会把命令的结果显示在机器B上,怎么让机器A显示结果?
...全文
444 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
WinterToday 2017-10-12
  • 打赏
  • 举报
回复
stdin, stdout, stderr = ssh.exec_command('mosquitto > output.txt')把结果输出到文件txt
oyljerry 2017-10-11
  • 打赏
  • 举报
回复
你是ssh过去的,B上只是回显,A上也有执行命令了。只不过没回显。你要想有结果,就把结果输出文件到A上
混沌鳄鱼 2017-10-11
  • 打赏
  • 举报
回复
1、在一台电脑A上使用 screen -S test 创建会话,然后终端会进入test会话中。 2、这时候机器B使用ssh登录A ,使用screen -list可以查看当前有那些会话: $ screen -list 3、使用 screen -x test 进入会话即可,screen的共享会话可以支持所有使用ssh登录上这台电脑的用户。
WinterToday 2017-10-11
  • 打赏
  • 举报
回复
谢谢,试了一下,感觉相当于远程登录并同步控制了,不过需要在另一台电脑提前创建会话,我想的是另一台电脑不进行操作,并显示远程运行命令的结果@xpresslink
WinterToday 2017-10-11
  • 打赏
  • 举报
回复
@oyljerry 1 请问怎么把结果输出文件到A上?mosquitto命令如果直接在命令行运行是会有输出结果的,但远程控制A运行就没显示了。 2 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(IP, port,username, password) stdin, stdout, stderr = ssh.exec_command (execmd) print(stdout.readlines()) execmd命令启动的是一个一直在监听的命令,但如果删除print(stdout.readlines())这一行,机器A上命令没有运行,没有进程存在,这是怎么回事?谢谢

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧