Melaksanakan Perintah Jauh dengan SSH dalam CLI Golang
Melaksanakan arahan pada mesin jauh ialah tugas biasa apabila mengautomasikan pentadbiran sistem. Di Golang, pakej "golang.org/x/crypto/ssh" menawarkan cara yang mudah untuk mewujudkan sambungan SSH dan menjalankan arahan dari jauh.
Untuk melaksanakan arahan pada mesin jauh, ikut langkah berikut:
Mewujudkan Sambungan SSH:
Gunakan fungsi ssh.Dail untuk mewujudkan sambungan SSH ke mesin jauh. Anda perlu memberikan maklumat berikut:
Berikut ialah contoh fungsi yang menunjukkan cara menjalankan arahan jauh dan mengembalikan outputnya:
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 }
Fungsi ini boleh digunakan untuk laksanakan arahan pada mesin jauh, menyediakan cara yang mudah untuk mengautomasikan tugas pentadbiran sistem daripada skrip CLI Golang.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Perintah Jauh dengan SSH dalam CLI Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!