我正在编写一个工具,除其他外,它需要能够通过 SSH 连接修改文件。但是,出于安全考虑,我不想在远程服务器上调用 CLI 工具(TL;DR:字符串转义真的很难)。我如何使用 (a) ssh 命令行工具(在本地调用)或 (b) golang.org/x/crypto/ssh/*
包来做到这一点?
编辑:抱歉,我忘了说了。我需要能够在一个 session 中完成所有这些。在某些客户端上,连接到的服务器位于负载平衡器之后,因此如果我进行多次调用,我可能最终会连接到不同的服务器。
最佳答案
使用您保持事件状态的 ssh 建立主连接。然后您可以将文件下载到您的本地主机,修改它并在通过主连接建立隧道时使用 scp 再次上传它。
关于file - 如何在不使用 shell 命令的情况下通过 SSH 以编程方式修改文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35213570/