使用Python 透過SSH 自動執行指令
在Python 自動化指令列任務時,使用subprocess.call() 是一種常見方法。然而,對於需要 SSH 登入的遠端機器命令,此方法是不夠的。
在 Python 中自動化 SSH 指令
要在 Python 中自動化 SSH 指令,推薦的模組是帕拉米科。它提供了一個用於安全地建立 SSH 連線和執行命令的介面。
以下是使用 paramiko 的範例:
import paramiko
ssh = paramiko.SSHClient()
ssh.connect(server, username=username, password=password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd_to_execute)
這將建立到遠端伺服器的 SSH 連接,指定伺服器位址、使用者名稱和密碼。隨後,exec_command() 方法執行所需的命令,擷取標準輸出和錯誤流。
如果是 SSH 金鑰驗證,可以使用以下程式碼片段:
import paramiko
k = paramiko.RSAKey.from_private_key_file(keyfilename)
# OR k = paramiko.DSSKey.from_private_key_file(keyfilename)
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=host, username=user, pkey=k)
透過指定包含私密金鑰的金鑰檔案名,此程式碼使用基於金鑰的驗證啟動 SSH 連線。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3