file - 如何在不使用 shell 命令的情况下通过 SSH 以编程方式修改文件?

标签 file go ssh

我正在编写一个工具,除其他外,它需要能够通过 SSH 连接修改文件。但是,出于安全考虑,我不想在远程服务器上调用 CLI 工具(TL;DR:字符串转义真的很难)。我如何使用 (a) ssh 命令行工具(在本地调用)或 (b) golang.org/x/crypto/ssh/* 包来做到这一点?

编辑:抱歉,我忘了说了。我需要能够在一个 session 中完成所有这些。在某些客户端上,连接到的服务器位于负载平衡器之后,因此如果我进行多次调用,我可能最终会连接到不同的服务器。

最佳答案

使用您保持事件状态的 ssh 建立主连接。然后您可以将文件下载到您的本地主机,修改它并在通过主连接建立隧道时使用 scp 再次上传它。

参见 https://unix.stackexchange.com/a/2869

关于file - 如何在不使用 shell 命令的情况下通过 SSH 以编程方式修改文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35213570/

相关文章:

go - 尝试向已关闭的 channel 插入值时避免 panic

sshfs 未在期望脚本中使用密码

ssh - 获取IP地址时出错:运行SSH命令出错了!命令

eclipse - 如何在 Windows 上通过 SSH 使用 EGit?

java - 锁定文件写入?

Java:使用流读取文件时出现问题

c# - 如何使用系统变量%LOCALAPPDATA%获取文件列表?

c++ - 无法使用 Fout 创建和命名具有用户输入名称的文件

go - 从 Go 代码构建 Docker 镜像

go - 使用 errgroup 在第一个错误时取消 goroutine