python3 paramiko,paramiko用法
Paramiko在执行多条语句或sudo命令时,需要将get_pty=True添加到exec_command中。
远程执行某些命令时,可能需要管理员权限。这时候就需要做一些判断了。首先判断如果login提供的用户名不是root,需要对命令做一些修改。这里有两种修改。第一,普通用户拥有sudo权限,只需要将执行的命令添加到sudo中即可执行。另一种是普通用户没有sudo权限,需要通过su切换到root身份才能执行。在这种情况下,有必要提供root密码。
另一个需要注意的是参数get_pty。实际上,在远程执行sudo命令时,一般主机会需要通过tty来执行。通过将get_pty的值设置为True,可以模拟tty,但是随之而来也会有一个问题,如果是远程执行一个需要长期运行的进程,例如启动nginx服务,当远程命令执行后SSH退出之后,此次运行的所有程序也会随之结束**。所以需要通过远程命令运行一些服务或程序时,不能指定参数get _ pty* *但同时,如果普通用户远程登录,则无权执行服务命令。一种建议的方法是修改/etc/sudoers配置文件,并注释掉行Defaults requiretty。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。