在使用Paramiko远程登录的时候,会报sudo: sorry, you must have a tty to run sudo
切换到root用户,使用visudo命令,然后就会打开一个文本,在文本中注释到下面这句就ok了
#Defaults requiretty
现在蛋疼的是怎么使用Paramiko执行交互命令,不喜欢pexpect,应该不是垮平台的
remote=common.getSSHClient(ip,user,password) stdin, stdout, stderr=remote.exec_command("ssh-keygen") stdin.write(" ") stdin.flush() stdin.write(" ") stdin.flush() stdin.write(" ") stdin.flush() stdin.write(" ") stdin.flush() print stdout.readlines()
这是个很傻逼的写法。可以用,但是不推荐