将远程机器上的 c 程序通过管道输出到本地机器

将远程机器上的 c 程序通过管道输出到本地机器

我在 ec2 实例 (ubuntu) 上运行 ac 程序。我想捕获该 c 程序的输出并将其保存到本地计算机上的 excel 文件中。

我已经尝试过这里列出的方法如何将命令的(巨大)输出直接 scp 到远程机器?但当我尝试从我的 ec2 实例连接到我的本地机器时,什么也没发生。它只是挂起,直到我不可避免地按下 ctrl + c

我的本地机器是 Mac。我运行 ifconfig 来获取我的 IP,并运行 whoami 来查看我应该 ssh 到哪个帐户。它不起作用。将远程机器的输出通过管道传输到本地机器的正确语法是什么?

答案1

您的本地计算机可能位于防火墙后面(或至少位于网络地址转换后面),无法从外部访问。但您应该能够从本地计算机启动连接,运行程序并捕获返回的输出。如下所示:

ssh -i whatever ecuser@ecaddress '/path/to/c-program' >outputfile

将“ssh -i whatever ecuser@ecaddress”替换为您通常使用的 ssh 命令,“/path/to/c-program”替换为您要运行的程序的实际文件系统位置,“outputfile”替换为您要将输出保存为的(本地)文件名。如果程序需要任何命令行参数,请将它们添加到程序路径之后。如果需要输入,请通过 ssh 连接输入,或使用输入重定向(注意:引号内的重定向将发生在 ec2 实例上,但引号外的重定向将发生在本地计算机上)。

相关内容