从命令行将PuTTY输出保存到文件

时间:2014-12-15 05:03:06

标签: command-line putty

有没有办法使用命令行将PuTTY输出保存到文件?我知道这很容易使用GUI完成,但在我的情况下,它必须自动完成。

我正在做的事情:

用户点击批处理文件 - >启动PuTTY,通过SSH自动连接到我的设备并运行一系列命令 - > PuTTY应将输出保存到文件

最后一部分我无法工作。有没有命令要这样做?

4 个答案:

答案 0 :(得分:21)

这可以用腻子来完成。考虑到提出问题的时间,答案很晚,但这可能对某人有所帮助。

在putty中,使用GUI,您可以使用日志记录选项保存会话,如下所示。

enter image description here

enter image description here

输入主机名,为会话命名,转到左上角的“记录选项”,选择所有会话,提供日志文件名和位置,返回“会话”选项卡,单击“保存”按钮。完成后,您已保存会话。

现在打开CMD并编写如下命令  enter image description here

你完成了。每次调用此会话时,都会记录命令和输出。 希望这会有所帮助。

答案 1 :(得分:2)

特定程序putty不是为此而设计的。而是在PuTTY套件中使用plink,一个不同的程序, 它使用与putty相同的会话设置和键,但从stdin获取输入并将输出放到stdout, 两者都可以通常的方式重定向。请参阅http://the.earth.li/~sgtatham/putty/0.63/htmldoc/Chapter7.html#plink

答案 2 :(得分:1)

如前面的回答所述,请使用plink

通过输入

确保它在您的环境路径中
plink -V

在你的控制台中。如果它返回版本号,那么您知道它在环境路径变量中。如果没有,最好先解决这个问题。有很多很好的答案可以帮助你解决这个问题。 如果失败,请在随后的CLI命令中使用plink.exe的完整路径。

然后使用plink打开ssh连接,使用-v set选项提供详细输出。最后,这一切都需要通过管道传输到日志文件。

我使用的完整cli命令是

plink -v username@xxx.xxx.xxx.xxx  > ssh-output.log 2>&1

打开文件 ssh-ouput.log 以查看结果。

答案 3 :(得分:1)

扩展Dave和Charlie的答案...

除了确保plink在路径中之外,还要检查您是否具有对本地输出文件的写访问权。

这是使用plink将命令输出从远程计算机重定向到本地文件的方式。在此示例中,我们存储了手册页中的nfcapd输出:

plink joe@192.168.50.50 -pw joespassword man nfcapd > output.log 2>&1

第一次尝试访问服务器时,它将要求您将密钥存储在缓存中。因此,请确保至少至少访问机器一次:

plink joe@192.168.50.50 -pw joespassword

The server's host key is not cached in the registry. You 
have no guarantee that the server is the computer you
think it is.
...
Store key in cache? (y/n)