在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
答案 0 :(得分:0)
我设法解决了我的问题。
问题实际上来自sshguard,它实际上阻止了ssh会话。