在 Golang CLI 中使用 SSH 執行遠端命令
在遠端電腦上執行命令是自動化系統管理時的常見任務。在 Golang 中,「golang.org/x/crypto/ssh」套件提供了一種建立 SSH 連線並遠端執行命令的便捷方法。
要在遠端電腦上執行指令,請依照下列步驟操作:
建立SSH 連線:
使用ssh.Dial 函數建立到遠端機器的SSH 連線。您需要提供以下資訊:
這是一個範例函數,示範如何執行遠端指令並傳回其輸出:
import ( "bytes" "net" "golang.org/x/crypto/ssh" ) func remoteRun(user, addr, privateKey, cmd string) (string, error) { key, err := ssh.ParsePrivateKey([]byte(privateKey)) if err != nil { return "", err } config := &ssh.ClientConfig{ User: user, HostKeyCallback: ssh.InsecureIgnoreHostKey(), Auth: []ssh.AuthMethod{ ssh.PublicKeys(key), }, } client, err := ssh.Dial("tcp", net.JoinHostPort(addr, "22"), config) if err != nil { return "", err } session, err := client.NewSession() if err != nil { return "", err } defer session.Close() var b bytes.Buffer // capture output session.Stdout = &b // get output err = session.Run(cmd) return b.String(), err }
此函數可用於在遠端電腦上執行指令,提供了一種通過Golang CLI 腳本自動執行系統管理任務的便利方法。
以上是如何在 Golang CLI 中使用 SSH 執行遠端命令?的詳細內容。更多資訊請關注PHP中文網其他相關文章!