python -Fabric sudo: sorry, you must have a tty to run sudo

3490阅读 0评论2015-04-17 swenker
分类:系统运维

用fabric部署文件到远程服务器时,遇到  sudo: sorry, you must have a tty to run sudo 这个错误。
如果从远程服务器端处理很容易,打开tty即可,但是既然ssh 有-t ,允许 Pseudo-tty Allocation ,那么 Paramiko 难道就没有? 后来一查,果然有啊,

stdin,stdout,stderr=ssh.exec_command(cp_war_cmd)

改成如下形式,即加上 get_pty =True即可。
stdin,stdout,stderr=ssh.exec_command(cp_war_cmd, get_pty=True)


上一篇:在jetty或者tomcat中设置https
下一篇:自己用python开发网站的困惑