12

I have a Gitlab environment using Gitlab CI, for a new project to testify about the compiled files and copy via rsync to a production server.

The machine where the build of these resources is exec is an image of docker (node 6), but now I have to copy the resulting files from that container Docker command to the server using linux ... My problem is to connect via ssh through rsync.

Currently I have the following:

stages: - deploy before_script: - npm i - npm run build job_deploy: stage: deploy script: - ssh-keygen -t rsa -b 4096 -C '' -f ~/.ssh/deploy_rsa - ssh-keyscan -H 8.8.8.8 >> ~/.ssh/known_hosts - ssh-copy-id -i ~/.ssh/deploy_rsa.pub [email protected] - rsync -avuz $CI_PROJECT_DIR/dist/ [email protected]:/var/wwww/example.com only: - master 

By this I'm getting:

 /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys Permission denied, please try again. Permission denied, please try again. Permission denied (publickey,password). 
2
  • 3
    Ther's something I don't undersrand here: you are generating a new ssh key on the fly every build isn'it? Where is the point of using ssh leys whrn you.need pwd to deploy the pub key? Commented Apr 22, 2017 at 8:38
  • Like @lrkwz, I am also missing the point of sending a new key on every build, when you are going to be asked for a password anyway. Also, I'd love to see the authorized_keys file on the remote server... Commented May 22, 2019 at 19:44

2 Answers 2

3

ssh-copy-id is asking for a password. You can use sshpass -e and set the SSHPASS environment variable in Gitlab.

1
  • Can you add an example too? Commented Dec 9, 2019 at 8:51
1

You are not passing the ssh key to rsync. You should do something like this which executes the ssh command to properly identify the ssh key:

rsync -avuz -e 'ssh -i ~/.ssh/deploy_rsa' $CI_PROJECT_DIR/dist/ [email protected]:/var/wwww/example.com 

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.