golang CLI を使用したリモート マシンでのコマンドの実行
リモート マシンでコマンドを実行するには、Golang CLI で「golang.org」を利用できます。 /x/crypto/ssh」パッケージ。クエリに対する解決策は次のとおりです。
関数 RemoteRun は、リモート マシン上で単一のコマンドを実行し、その出力を取得する方法を示します。
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 }
この関数は、ユーザー、アドレス、プライベートを取得します。キーとコマンドを入力として入力し、コマンドの出力を文字列として返します。コマンドを実行するマシンへのアクセスを許可するユーザー、アドレス、秘密キーを指定できます。
以上がGolang CLI を使用してリモート マシン上でコマンドを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。