抱歉,之前给出的代码片段确实是使用标准输入和 expect 工具进行自动化交互的示例。以下是一个使用 Go 语言实现自动化 SSH 密钥生成的示例代码:
package main
import (
"os/exec"
"time"
)
func main() {
cmd := exec.Command("ssh-keygen", "-t", "rsa")
stdin, _ := cmd.StdinPipe()
defer stdin.Close()
go func() {
time.Sleep(1 * time.Second) // 等待命令提示信息
stdin.Write([]byte("\n")) // 输入回车确认保存密钥文件位置
time.Sleep(1 * time.Second) // 等待命令提示信息
stdin.Write([]byte("\n")) // 输入两次回车跳过设置密码步骤
}()
cmd.Run()
}
这段 Go 代码将会执行 ssh-keygen 命令,并在需要输入内容时自动发送回车键。您可以将以上代码保存为一个 .go 文件,然后通过 go run yourfile.go
运行。
希望这次能够满足您的需求。
内容由零声教学AI助手提供,问题来源于学员提问