如何在cloudbuild上通过ssh执行命令?

时间:2019-07-20 03:38:48

标签: google-cloud-build

在Cloudbuild上时,我正在寻找使用ssh在远程服务器上执行命令的方法。

下面是我当前的cloudbuild.yaml

steps:
- name: 'gcr.io/cloud-builders/gcloud'
  args:
  - kms
  - decrypt
  - --ciphertext-file=build.pem.encrypted
  - --plaintext-file=build.pem
  - --location=asia-southeast1
  - --keyring=keyring
  - --key=build-key
- name: 'ubuntu'
  args: ['chmod', '400', './build.pem']
- name: 'ubuntu'
  args: ['bash', './deploy.bash']

我的deploy.bash看起来像这样

#! /bin/bash
apt update
apt install -y openssh-client

mkdir ~/.ssh
touch ~/.ssh/known_hosts

ssh-keyscan -H somedomain.com >> ~/.ssh/known_hosts


ssh -i build.pem -T -v somedomain.com 'bash -s deploy1.bash'

我的deploy1.bash看起来像

#! /bin/bash

echo "Hello World!"
echo "It works"

我一直在尝试不同的方法来使其工作。但是不能。 如果有人可以推荐如何使其工作,我将非常感激。

目前我停留在这一步-

debug1: expecting SSH2_MSG_KEX_ECDH_REPLY

1 个答案:

答案 0 :(得分:0)

我设法解决了我的问题。

问题实际上来自sshguard,它实际上阻止了ssh会话。