gpt4 book ai didi

Golang ssh中断信号

转载 作者:行者123 更新时间:2023-12-01 19:51:51 25 4
gpt4 key购买 nike

我正在开发一个连接到多个远程主机并允许读取日志文件的简单 ssh 客户端。我设法连接到远程计算机并在其上运行命令

stdin, err := session.StdinPipe()

if err != nil {
log.Fatalf("Failed to establish stdin pipe: %v", err)
}

session.Stdout = os.Stdout
session.Stderr = os.Stderr

err = session.Shell()

if err != nil {
log.Fatal(err)
}

reader := bufio.NewReader(os.Stdin)
for {
text, _ := reader.ReadString('\n')

if text == "exit\n" {
break
}

if text == "br\n" {
// ??? HOW ???
continue
}

_, err = fmt.Fprintf(stdin, "%s", text)

if err != nil {
log.Fatal(err)
}
}

当我运行 tail -f access.tskv 时,我在我的标准输入上得到了输出。我的问题是我不知道如何向远程机器上的 shell 发送中断信号。

有什么想法吗?

最佳答案

session.Signal(ssh.SIGINT) 应该根据 API 文档执行此操作。但由于某种原因,另一端没有触发信号。看来问题出在 ubuntu 18.04 上的 sshd

https://github.com/golang/go/issues/16597#issuecomment-548053530

关于Golang ssh中断信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61407696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com