IceCredentialsProvider sshCredentials ?
I am trying to deploy on a server by building a Pharo image there. I want to use a readonly 'deploy user', using a specific certificate. I have been trying lots of things, but I cannot get where I want. So the user account is arbitrary, it just contains a key pair. If I add the key pair to the ssh-agent, I can clone my repository on the command line. Now I want to script this from Pharo. The script starts as follows: | remote location | remote := IceGitRemote url: 'ssh://git@bitbucket.myhost.be:1234/tthree/t3-pharo.git'. location := FileLocator localDirectory / 'iceberg' / remote projectName. IceRepositoryCreator new remote: remote; location: location; createRepository. On my development machine (macOS), this works fine. But this does not work on the Linux server, it says IceAuthenticationError: There was an authentication error while trying to execute the operation: . This happens usually because you didn't provide a valid set of credentials. You may fix this problem in different ways: 1. adding your keys to ssh-agent, executing ssh-add ~/.ssh/id_rsa in your command line. 2. adding your keys in settings (open settings browser search for "Use custom SSH keys" and add your public and private keys). 3. using HTTPS instead SSH (Just use an url in the form HTTPS://etc.git) It does not matter if the ssh-agent has the certificate listed (ssh-add). Adding IceCredentialsProvider useCustomSsh: true. IceCredentialsProvider sshCredentials publicKey: '/home/t3/.ssh/id_deploy_pharo_ed25519.pub'; privateKey: '/home/t3/.ssh/id_deploy_pharo_ed25519' Does not make a difference. Is this supposed to work ? Maybe there is some other problem ? Sven
Not sure if this helps - but that error is rather arbitrary. I got the same when I deleted the local iceberg directory vs my project directory in iceberg. Could this be a possibility? It doesnât react well to missing directories? Tim Sent from my iPhone
?On 7 May 2019, at 15:33, Sven Van Caekenberghe <sven@stfx.eu> wrote:
I am trying to deploy on a server by building a Pharo image there.
I want to use a readonly 'deploy user', using a specific certificate.
I have been trying lots of things, but I cannot get where I want.
So the user account is arbitrary, it just contains a key pair. If I add the key pair to the ssh-agent, I can clone my repository on the command line.
Now I want to script this from Pharo. The script starts as follows:
| remote location | remote := IceGitRemote url: 'ssh://git@bitbucket.myhost.be:1234/tthree/t3-pharo.git'. location := FileLocator localDirectory / 'iceberg' / remote projectName.
IceRepositoryCreator new remote: remote; location: location; createRepository.
On my development machine (macOS), this works fine. But this does not work on the Linux server, it says
IceAuthenticationError: There was an authentication error while trying to execute the operation: . This happens usually because you didn't provide a valid set of credentials. You may fix this problem in different ways:
1. adding your keys to ssh-agent, executing ssh-add ~/.ssh/id_rsa in your command line. 2. adding your keys in settings (open settings browser search for "Use custom SSH keys" and add your public and private keys). 3. using HTTPS instead SSH (Just use an url in the form HTTPS://etc.git)
It does not matter if the ssh-agent has the certificate listed (ssh-add).
Adding
IceCredentialsProvider useCustomSsh: true. IceCredentialsProvider sshCredentials publicKey: '/home/t3/.ssh/id_deploy_pharo_ed25519.pub'; privateKey: '/home/t3/.ssh/id_deploy_pharo_ed25519'
Does not make a difference. Is this supposed to work ?
Maybe there is some other problem ?
Sven
did you try to clone your repo by hand on your server? in my config I have also my github account/password
On 7 May 2019, at 16:33, Sven Van Caekenberghe <sven@stfx.eu> wrote:
I am trying to deploy on a server by building a Pharo image there.
I want to use a readonly 'deploy user', using a specific certificate.
I have been trying lots of things, but I cannot get where I want.
So the user account is arbitrary, it just contains a key pair. If I add the key pair to the ssh-agent, I can clone my repository on the command line.
Now I want to script this from Pharo. The script starts as follows:
| remote location | remote := IceGitRemote url: 'ssh://git@bitbucket.myhost.be:1234/tthree/t3-pharo.git'. location := FileLocator localDirectory / 'iceberg' / remote projectName.
IceRepositoryCreator new remote: remote; location: location; createRepository.
On my development machine (macOS), this works fine. But this does not work on the Linux server, it says
IceAuthenticationError: There was an authentication error while trying to execute the operation: . This happens usually because you didn't provide a valid set of credentials. You may fix this problem in different ways:
1. adding your keys to ssh-agent, executing ssh-add ~/.ssh/id_rsa in your command line. 2. adding your keys in settings (open settings browser search for "Use custom SSH keys" and add your public and private keys). 3. using HTTPS instead SSH (Just use an url in the form HTTPS://etc.git)
It does not matter if the ssh-agent has the certificate listed (ssh-add).
Adding
IceCredentialsProvider useCustomSsh: true. IceCredentialsProvider sshCredentials publicKey: '/home/t3/.ssh/id_deploy_pharo_ed25519.pub'; privateKey: '/home/t3/.ssh/id_deploy_pharo_ed25519'
Does not make a difference. Is this supposed to work ?
Maybe there is some other problem ?
Sven
participants (3)
-
ducasse -
Sven Van Caekenberghe -
Tim Mackinnon