簡體   English   中英

如何隨后在python paramiko -SSH客戶端Linux中運行兩個sudo命令?

[英]How to run two sudo commands subsequently in python paramiko -SSH client linux?

我正在嘗試對本地計算機執行ssh-127.0.0.1,效果很好。 接下來,我試圖通過ssh客戶端運行兩個命令。 但是,我看到下一個命令失敗。 我可以看到我的水龍頭設備已創建。 但是,分接頭設備沒有打開。 這是我的代碼。 我嘗試了ifconfig,它工作正常。 但是,正是sudo命令造成了問題。

self.serverName是127.0.0.1

  def configure_tap_iface(self):
        ssh = paramiko.SSHClient()
        print('SSH on to PC')
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(self.serverName, username='zebra', password='Zebra@2018')
        stdin, stdout, stderr = ssh.exec_command('ifconfig')
        #print(stdout.read())
        session = ssh.get_transport().open_session()
        session.get_pty()
        session.exec_command('sudo ip address add 192.168.0.1/24 dev cloud_tap && sudo ip link set cloud_tap up')
        session.close()
        time.sleep(3)
        ssh.close()

您可以使用sudo sh -c 'commands'在單個sudo調用中運行多個shell命令。

session.exec_command("sudo sh -c 'ip address add 192.168.0.1/24 dev cloud_tap && ip link set cloud_tap up'")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM