当我直接在操作系统中运行 “echo Shanghai2010 | sudo -S reboot”,系统可以正常重启,但当我通过 Python aramiko 登录到服务器上,运行却没有任何反应,也没有任何报错,最后一个的 print 可以正常打印出来。
import paramiko
ip = "192.168.1.20"
username = "itmanager"
password = "P@ssw0rd"
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(ip, port=22, username=username, password=password, timeout=20)
client.exec_command('echo P@ssw0rd | sudo -S reboot')
print("Command have been completed")
但我如果把登录的用户换成 root 用户,就可以正常运行 root 命令了。但其他用户却不行,其他用户,直接登录到系统,运行该命令,是可以正常重启系统的,这个是怎么回事?