使用PuTTY在Windows上自动执行Linux上的运行命令

Nem*_*emo 63 linux windows automation putty

我有一种情况,我需要运行一个从窗户经常Linux shell命令(用不同的文件名).我正在使用PuTTY和WinSCP来执行此操作(需要登录名和密码).通过WinSCP将文件复制到linux机器中的预定义文件夹,然后从PuTTY运行该命令.有没有办法让我通过一个程序实现自动化.理想情况下,我想直接从Windows中单击该文件并发出将该文件复制到远程计算机的命令,并以文件名作为参数运行预定义命令(在PuTTy中).

Jam*_*son 112

Putty 通常带有"plink"实用程序.
这实际上是作为windows .exe实现的"ssh"命令行命令.
它在"使用命令行工具plink"下的putty手册中有很好的记录.

你只需要包装一个命令:

plink root@myserver /etc/backups/do-backup.sh
Run Code Online (Sandbox Code Playgroud)

在.bat脚本中.

您还可以使用常见的shell结构(如分号)来执行多个命令.例如:

plink read@myhost ls -lrt /home/read/files;/etc/backups/do-backup.sh
Run Code Online (Sandbox Code Playgroud)

  • 这就是答案.此外,您可以使用选美来允许加载和使用密钥,因此无需每次都输入密钥的密码.请记住,由于Windows的体系结构,无法阻止未加密的密钥写入磁盘交换文件.如果您知道暂时不会使用密钥,则可以通过从分页中删除密钥来降低此风险. (5认同)
  • plink -i file.ppk username@hostname path/to/directory/file.sh 通过命令行从 windows/unix 在 EC2 上执行脚本 (2认同)

Gar*_*sui 29

自动登录的常用方法可能存在安全问题.下面记录了最简单的方法之一:

至于部分执行命令在putty UI,Connection> SSH>中有一个远程命令字段.

4.17 SSH面板

SSH面板允许您配置仅适用于SSH会话的选项.

4.17.1在服务器上执行特定命令

在SSH中,您不必在服务器上运行常规shell会话.相反,您可以选择运行单个特定命令(例如,邮件用户代理).如果要执行此操作,请在"远程命令"框中输入命令. http://the.earth.li/~sgtatham/putty/0.53/htmldoc/Chapter4.html

简而言之,您的答案可能与以下文字类似:

  • 好的,所以我可以使用`putty.exe -ssh -2 -l username -pw password -mc:remote.cmd hostname`.非常感谢.现在我需要找出复制文件的命令并给remote.cmd提供参数 (6认同)
  • 我投了票,因为这个答案没有回答问题.这是一堆词,然后是一个只回答问题的链接.这里还有其他答案,这些答案大大缩短并提供答案. (4认同)
  • @fazineroso你为此投了什么?你可以问得很好. (3认同)