在 Go 中使用 os/exec
包调用命令行时,您可以通过设置环境变量或传递参数来配置命令的行为。如果您希望在运行 SSH 命令时设置 StrictHostKeyChecking=no
,可以将该选项作为参数传递给 SSH 命令。
示例:使用 SSH 并设置 StrictHostKeyChecking
以下是一个示例程序,演示如何在 Go 中执行 SSH 命令,并设置 StrictHostKeyChecking=no
:
package main
import (
"fmt"
"log"
"os/exec"
)
func main() {
// 定义要执行的 ssh 命令和参数
cmd := exec.Command("ssh", "-o", "StrictHostKeyChecking=no", "user@host", "your-command") // 替换为你的SSH用户、主机和命令
// 获取输出
output, err := cmd.CombinedOutput()
if err != nil {
log.Fatalf("Error executing command: %s, Output: %s", err, string(output))
}
// 打印结果
fmt.Println(string(output))
}
说明:
- 命令与参数:在
exec.Command
中,您指定了"ssh"
作为命令,并添加了"-o"
,"StrictHostKeyChecking=no"
作为选项。 - 目标用户与主机:将
"user@host"
替换为实际的 SSH 用户名和主机地址。 - 要执行的命令:替换
"your-command"
为您希望在远程主机上执行的实际命令。 - CombinedOutput():用以捕获标准输出和错误输出。
注意事项:
- 使用
StrictHostKeyChecking=no
会降低安全性,因为它会跳过对主机密钥的验证。请仅在信任目标主机或进行测试时使用此选项。 - 确保正确处理任何可能发生的错误,以便及时排除故障。
如果你有其他问题或需要更多信息,请告诉我!
内容由零声教学AI助手提供,问题来源于学员提问