Melaksanakan Perintah pada Mesin Jauh dengan CLI golang
Untuk melaksanakan arahan pada mesin jauh, CLI Golang boleh menggunakan "golang.org /x/crypto/ssh" pakej. Berikut ialah penyelesaian untuk pertanyaan anda:
Fungsi remoteRun menunjukkan cara untuk melaksanakan satu arahan pada mesin jauh dan mendapatkan semula outputnya:
func remoteRun(user string, addr string, privateKey string, cmd string) (string, error) { // Read or retrieve the private key key, err := ssh.ParsePrivateKey([]byte(privateKey)) if err != nil { return "", err } // Configure authentication config := &ssh.ClientConfig{ User: user, HostKeyCallback: ssh.InsecureIgnoreHostKey(), // Allow any host Auth: []ssh.AuthMethod{ ssh.PublicKeys(key), }, } // Establish a connection client, err := ssh.Dial("tcp", net.JoinHostPort(addr, "22"), config) if err != nil { return "", err } // Create a session session, err := client.NewSession() if err != nil { return "", err } defer session.Close() // Collect the command's output var b bytes.Buffer session.Stdout = &b // Execute the command err = session.Run(cmd) if err != nil { return "", err } return b.String(), nil }
Fungsi ini mengambil pengguna, alamat, peribadi kunci, dan perintah sebagai input dan mengembalikan output arahan sebagai rentetan. Anda boleh menentukan pengguna, alamat dan kunci peribadi yang memberikan akses kepada mesin yang anda ingin laksanakan arahannya.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Perintah pada Mesin Jauh dengan CLI Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!