首页 > 解决方案 > 无法使用远程命令启动腻子?

问题描述

我正在尝试通过命令行启动腻子,使其在服务器上运行命令(我想创建一个 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. 你不需要-sshwith -load profile(如果你使用像我的测试这样的非标准端口,它根本不起作用);事实上你不需要它,[user@]host因为它是默认的

  2. -pw -m tail_catalina_out用作-m您的密码(我希望这是不正确的,因此除非设置了公钥身份验证,否则应该重新提示您)并忽略tail_catalina_out

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

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

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

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

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


推荐阅读