用于SSH的库
我想找一个可以和SSH一起使用的库,主要要求是能正常使用sudo这个工具。我已经尝试过一些库,但遇到了一些问题:
- paramiko - 完全不能用sudo,尝试在调用后通过标准输入输入密码,但sudo提示说:“没有tty设备”。
- pxssh - 嗯,速度非常慢,真的很慢,使用起来很别扭。
- fabric - 只有在理想情况下才能使用sudo,因为我需要和不同的用户打交道,还要在哪里输入密码呢?
有没有正常的库可以和sudo一起使用的?
5 个回答
0
你可以通过设置'sudo'的'requiretty'选项,让它在没有真实终端的情况下工作。根据'sudoers'手册的说明:
如果这个选项被设置,'sudo'只会在用户登录到一个真实的终端时运行。这意味着像“rsh somehost sudo ls”这样的命令就不能执行,因为'rsh'不会分配一个终端。
由于在没有终端的情况下无法关闭输入回显,一些地方可能希望设置这个选项,以防止用户输入的密码被看到。默认情况下,这个选项是关闭的。
我在使用paramiko时,这个设置对我有效。根据你要做的事情,你也可以看看类似于pexpect的工具。
0
我觉得你是在找fabric这个工具。
0
与其强行让 sudo
在没有终端的情况下工作,不如让 Paramiko 为你分配一个终端吧?