paramiko SSHClient調用sudo權限和執行多條指令的方法

最近一段時間在研究paramiko,發現還蠻好用的,但是對於ubuntu來說,root權限一直是問題,解決的辦法國外論壇也有提供, 而且也可以同時執行多條命令。

try:
    ssh_client = paramiko.SSHClient()
    ssh_client.load_system_host_keys()
    ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh_client.connect(host,22,'user','PWD')
    std_in,std_out,std_err = ssh_client.exec_command('cd /home/swuser/share/;tar -zxvf requests-2.13.0.tar.gz;cd requests-2.13.0;sudo -S python setup.py install',get_pty=True)  #在command命令最後加上 get_pty=True,執行多條命令 的話用;隔開,另外所有命令都在一個大的單引號範圍內引用
    std_in.write('PWD'+'\n') #執行輸入命令,輸入sudo命令的密碼,會自動執行
    for line in std_out:
        print line.strip('\n')
    ssh_client.close()
except Exception,e:
    print e


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章