Codeship ssh 命令
Codeship ssh commands
根据文档 (https://codeship.com/documentation/continuous-deployment/deployment-with-ftp-sftp-scp/#run-commands-on-a-remote-server-via-ssh),您需要运行将所有命令作为一个命令。
虽然我明白这一点,但我不明白如何 运行 将以下内容作为单个命令执行,过程是:
- ssh demo@111.1.111.101
- ssh user@test-server
- cd 部署
- ./deploy.sh
并不是说第二个命令是 运行 on 111.1.111.101
as demo
这是我目前尝试过的:
ssh demo@111.1.111.101 "ssh user@test-server; cd deploy; ./deploy.sh"
但这似乎在第一个 ssh 命令后卡住了,它永远不会进入第二个 ssh。
就像 user156213 说的,你可能不需要两次跳转,但无论如何你要添加一个;在破坏一切的 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
会完成工作
ssh -t demo@111.1.111.101 'ssh user@test-server "cd deploy; ./deploy.sh"'
根据文档 (https://codeship.com/documentation/continuous-deployment/deployment-with-ftp-sftp-scp/#run-commands-on-a-remote-server-via-ssh),您需要运行将所有命令作为一个命令。
虽然我明白这一点,但我不明白如何 运行 将以下内容作为单个命令执行,过程是:
- ssh demo@111.1.111.101
- ssh user@test-server
- cd 部署
- ./deploy.sh
并不是说第二个命令是 运行 on 111.1.111.101
as demo
这是我目前尝试过的:
ssh demo@111.1.111.101 "ssh user@test-server; cd deploy; ./deploy.sh"
但这似乎在第一个 ssh 命令后卡住了,它永远不会进入第二个 ssh。
就像 user156213 说的,你可能不需要两次跳转,但无论如何你要添加一个;在破坏一切的 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
会完成工作
ssh -t demo@111.1.111.101 'ssh user@test-server "cd deploy; ./deploy.sh"'