使用 Python 透過 SSH 執行指令
在遠端電腦上自動執行指令是系統管理中常見的任務。 Python 的 subprocess 模組可以處理本機指令,但如果您需要透過 SSH 在遠端主機上執行指令呢?
要克服這項挑戰,請考慮使用 Paramiko 函式庫。 Paramiko 提供了一套全面的 SSH 通訊工具。我們來探討如何使用 Paramiko 進行遠端命令執行。
使用Paramiko 進行遠端指令執行
<code class="python">import paramiko # Connect to the remote host with username, password, and hostname ssh = paramiko.SSHClient() ssh.connect(hostname, username, password) # Execute a command using exec_command ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(command) # Handle output and error output print(ssh_stdout.read().decode()) print(ssh_stderr.read().decode()) # Close the connection ssh.close()</code>
使用SSH 金鑰進行驗證
使用SSH 金鑰進行驗證
<code class="python">k = paramiko.RSAKey.from_private_key_file(keyfilename) ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname, username, pkey=k)</code>
如果您喜歡使用SSH 金鑰進行驗證,可以透過使用paramiko.RSAKey.from_private_key_file() 設定金鑰來實現。
範例用法
<code class="python">ssh = paramiko.SSHClient() ssh.connect("remote_host", "username", "password") stdin, stdout, stderr = ssh.exec_command("df -h") output = stdout.read().decode() ssh.close() print(output)</code>
例如,您可以使用以下程式碼執行並擷取遠端指令的輸出:
透過利用Paramiko的強大功能,您可以輕鬆執行命令、檢索輸出、並透過Python 腳本輕鬆處理遠端電腦上的錯誤。以上是如何使用Python透過SSH遠端執行指令?的詳細內容。更多資訊請關注PHP中文網其他相關文章!