无法使用远程命令启动腻子?

Can't launch putty with remote command?

我正在尝试通过命令行启动 putty,使其在服务器上运行命令(我想创建一个 windows 快捷方式,以跟踪日志文件)

到目前为止我有一个包含这个的批处理文件

"C:\Program Files (x86)\PuTTY\putty.exe" -ssh -t -pw -m tail_catalina_out -load "myprofile"

在我的服务器中,我在根目录中有一个名为 tail_catalina_out 的文件,其中包含以下内容。

tail -f /opt/tomcat/logs/catalina.out

Putty 启动并且我的会话成功启动,但尽管如此似乎没有执行任何命令?我是不是误解了它的工作原理?

  1. 你不需要 -ssh-load profile(如果你像我的测试一样使用非标准端口,它根本不起作用);事实上你不需要 [user@]host 因为它是默认的

  2. -pw -m tail_catalina_out 使用 -m 作为你的密码(我希望这是不正确的,所以除非设置了 publickey auth,否则你应该被重新提示)并忽略 tail_catalina_out

  3. -m 的文件必须是 local 即在 PuTTY 机器上而不是在服务器上(尽管其中的命令将被发送到,并且必须在服务器上有效)

因此:"\path\to\putty" -t -m localcmdfile -load profile

您还可以使用 plink,它在控制台中运行,并在最后一个选项之后采用 -m localfile 命令行上的实际远程命令(如 OpenSSH 客户端 ssh):

 "\path\to\plink" -t -load profile tail -f remotefile

像往常一样,如果路径不包含 space,您可以省略路径两边的引号。我个人使用 \progra~2 而不是打扰 "\program files (x86)" 但这只是我,它可能取决于全新安装(而不是升级)。