我对 MobaXterm 还不太熟悉。对于我打开到给定主机的每个 SSH 会话,我想将终端输出记录到单独的文件中,该文件的文件名包含给定的主机名 + 时间戳。因此,我已将 MobaXterm 终端设置设置为“&H_&Y-&M-&D-&T”作为日志文件名,其中“$H”是代表“主机名”的变量。
通过单击 MobaXterm 的 GUI 中的“会话”图标来打开新会话,然后选择“SSH”并手动提供我想要连接的主机名的 FQDN,它就可以发挥超级按钮的作用。
例子:
会话 -> SSH -> 远程主机:“MyNas.MydomainName”==> 日志文件名正确设置为“MyNas.MydomainName_2022-01-07-113521.log”
但是,如果我从 Windows 的命令行提示符打开类似的会话,则日志文件名的主机名部分将设置为“localhost”,而不是我的主机名。
例子:
C:\Program Misc\MobaXterm>MobaXterm_Personal_21.5.exe -newtab "ssh MyNas.MydomainName" ==> 日志文件名错误设置为“localhost_2022-01-07-113521.log”
有什么见解吗?非常感谢您的帮助。
答案1
因为 SSH 连接不是由 MobaXterm 本身建立的,而是由当地的在启动的 MobaXterm“本地”会话内运行的命令。
该ssh
命令调用独立的 OpenSSH 客户端(MobaXterm 附带的基于 Cygwin 的版本,而不是 Windows 附带的本机版本)。它似乎是一个定制版本,具有一些集成(用于文件面板),但应用程序仍将其视为在本地 shell 内运行的命令。
同时,当您通过 GUI 创建 SSH 会话时,它不会使用 OpenSSH - 它使用 MobaXterm 自己的内部 SSH 代码(从 PuTTY 复制)。
似乎没有办法通过命令行创建新的 SSH 会话,只能加载现有的已保存会话。