利用python進行ssh linux服務器並執行命令


1、安裝paramiko模塊

    pip install paramiko

   可以修改ssh連接超時時間,windows下路徑:在安裝路徑Python\Python36\Lib\site-packages\paramiko\transport.py,修改self.banner_timeout = 60(設置ssh超時為60秒)

2、利用python進行ssh

import paramiko,getpass  #getpass是隱藏密碼

def ssh_connect(password):
    host_ip = '192.168.0.150'
    user_name = 'root'
    host_port ='22'

    # 待執行的命令
    sed_command = "sed -i 's/123/abc/g' /root/test/test.txt"
    ls_command = "ls /root/test/"

    # 注意:依次執行多條命令時,命令之間用分號隔開
    command = sed_command+";"+ls_command

    # SSH遠程連接
    ssh = paramiko.SSHClient()   #創建sshclient
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())  #指定當對方主機沒有本機公鑰的情況時應該怎么辦,AutoAddPolicy表示自動在對方主機保存下本機的秘鑰
    ssh.connect(host_ip, host_port, user_name, password)

    # 執行命令並獲取執行結果
    stdin, stdout, stderr = ssh.exec_command(command)
    out = stdout.readlines()
    err = stderr.readlines()
    
    ssh.close()

    return out,err



if __name__ == '__main__':
    pwd = getpass.getpass("請輸入密碼:")
    result = ssh_connect(pwd)
    print(result)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM