steps: ssh_connect: image: alpine environment: SSH_HOST: from_secret: ssh_host SSH_USER: from_secret: ssh_user SSH_KEY: from_secret: ssh_key SSH_PORT: from_secret: ssh_port commands: - apk add --no-cache openssh - mkdir -p ~/.ssh - echo "$SSH_KEY" | tr -d '\r' > ~/.ssh/deployKey # the private key generated locally outside git/woodpecker... - chmod 600 ~/.ssh/deployKey - ssh-keyscan -H -p $SSH_PORT $SSH_HOST 2>/dev/null >> ~/.ssh/known_hosts - chmod 600 ~/.ssh/known_hosts #target user has to allow ssh connection of course - ssh -vvvv -i ~/.ssh/deployKey -p $SSH_PORT $SSH_USER@$SSH_HOST "echo 'deployed by woodpecker' > ci_pipeline_is_ready.log"