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
腻子启动并且我的会话成功启动,但尽管如此,似乎没有执行任何命令?我是否误解了这是如何工作的?
解决方案
你不需要
-ssh
with-load profile
(如果你使用像我的测试这样的非标准端口,它根本不起作用);事实上你不需要它,[user@]host
因为它是默认的-pw -m tail_catalina_out
用作-m
您的密码(我希望这是不正确的,因此除非设置了公钥身份验证,否则应该重新提示您)并忽略tail_catalina_out
文件
-m
必须是本地的,即在 PuTTY 机器上而不是在服务器上(尽管其中的命令将被发送到服务器并且必须在服务器上有效)
因此:"\path\to\putty" -t -m localcmdfile -load profile
您还可以使用plink
which 在控制台中运行,并在最后一个选项(如 OpenSSH 客户端)之后的命令行上获取-m localfile
或ssh
执行实际远程命令:
"\path\to\plink" -t -load profile tail -f remotefile
像往常一样,如果路径不包含空格,您可以省略路径周围的引号。我个人使用\progra~2
而不是打扰,"\program files (x86)"
但这只是我,它可能取决于全新安装(而不是升级)。
推荐阅读
- python-3.6 - 如何在python中安装light包?
- azure-cosmosdb - DocumentDB SQL,其中对象数组匹配字符串数组
- r - 使用 TDM/DTM 在 R 中进行情感分析
- javascript - 在节点环境中捆绑浏览器库
- swiftui - 没有披露指示器的 SwiftUI NavigationButton?
- javascript - 更新 Vuex 商店中二维数组中的项目
- c - 如何在risc-v中实现printf函数?
- docker - Stilliard/pure-ftpd:允许其他 docker 容器的 ftp?
- c++ - 这两个中哪一个是实现标头的正确方法?
- c - 父进程在挂起时仍然收到信号