Codeship ssh命令

时间:2015-08-18 10:58:54

标签: linux bash ssh codeship

根据文档(https://codeship.com/documentation/continuous-deployment/deployment-with-ftp-sftp-scp/#run-commands-on-a-remote-server-via-ssh),您需要将所有命令作为单个命令运行。

虽然我理解这一点,但我不明白如何将以下内容作为单个命令运行,过程如下:

  1. ssh demo@111.1.111.101
  2. ssh user @ test-server
  3. cd deploy
  4. ./ deploy.sh
  5. 不是第二个命令在111.1.111.101上以demo

    运行

    这是我目前所尝试的:

    ssh demo@111.1.111.101 "ssh user@test-server; cd deploy; ./deploy.sh"

    但这似乎在第一个ssh命令后卡住了,它永远不会进入第二个ssh。

2 个答案:

答案 0 :(得分:1)

就像用户156213说的那样,你可能不需要两次跳跃,但无论如何你要添加一个;在破坏一切的ssh之后

一次跳跃

ssh user@test-server "cd deploy ; ./deploy.sh"

您也可以尝试删除第一行

ssh user@test-server ./deploy/deploy.sh

在ssh中查看ProxyCommand以避免跳转,编辑.ssh / config以包含类似的内容

Host first
  Hostname 111.1.111.101
  User demo

Host second 
  User user
  ProxyCommand ssh -q first nc test-server

现在用简单的

ssh second deploy/deploy.sh 

将完成工作

答案 1 :(得分:1)

ssh -t demo@111.1.111.101 'ssh destination "cd deploy; ./deploy.sh"'