如何从本地计算机上的单个ssh命令在aws机器上运行tmux命令?

时间:2017-11-30 20:33:41

标签: bash amazon-web-services amazon-ec2 ssh tmux

如果我跑:

@SpringBootApplication

aws机器上没有运行任何东西。我tmux ls并没有服务器正在运行。如果我ssh到这台机器然后运行“bash run_tmux_experiment.sh”然后它工作。

有关更多信息,请参阅run_tmux_experiment.sh的内容:

  

@SpringBootTest(classes = MySpringBootApplication.class) public class ESPRequestTest { ...}

1 个答案:

答案 0 :(得分:0)

您应该发布有关您从哪个系统连接的更多详细信息(与Windows(是的,它有ssh.exe)和基于unix的操作系统不同。)

为简单起见,我假设你是从基于Unix的操作系统连接的:

要运行bash脚本,您无需指定shell。用户ubuntu应该将其设置为默认shell。

要指定默认shell,您可以执行以下操作: 它以这些方式:

  • 运行sudo chsh -s /bin/bash ubuntu
  • 编辑.bashrc
  • 编辑/ etc / passwd(在最后:之后输入您的shell :/bin/bash
    例如root:x:0:0:root:/root:/bin/bash

现在问题实际问题:

您可以通过多种方式运行它。我会在我的眼中发布最好的2个:

  • 在远程计算机上运行本地脚本 - 无需实际手动上传脚本(注意:无需设置默认shell):
    ssh -i permissions_file.pem -t ubuntu@AWS_Public_IP 'bash -s' < /your/local/path/run_tmux_experiment.sh

  • 如果您仍想运行远程脚本,可以通过以下方式执行:
    ssh -i permissions_file.pem -t ubuntu@AWS_Public_IP './remote/path/foo.sh'

相关问题