I used capistrano to deploy my project using my local rsa key located at ~/.ssh/id_rsa. This always worked as expected.
Now I installed the development environment on a new computer, and now when I run cap ... deploy, I get this error:
OpenSSH keys only supported if ED25519 is available (NotImplementedError) net-ssh requires the following gems for ed25519 support:
- ed25519 (>= 1.2, < 2.0)
- bcrypt_pbkdf (>= 1.0, < 2.0)
I found plenty of questions about this while googling. Most suggest to run ssh-add ~/.ssh/id_rsa to add the key to the ssh agent, some suggest to install the two listed gems and use a ed25519 key.
I understand from there, that capistrano is looking for a key stored in the ssh agent, and then falls back to using an ed25519 key. What I need is that capistrano simply is using the local ssh key located at ~/.ssh/id_rsa.
I didn't find how to tell capistrano to use the local ssh key ~/.ssh/id_rsa instead of the ssh agent.
Notes
I am using cygwin on Windows, and the installation of a permanent ssh agent is tricky. I found lengthy instructions, but did not get it to work.
As a workaround, I run these commands before cap ... deploy
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Long question short
How can I configure capistrano or ssh that way that cap ... deploy picks the RSA key at ~/.ssh/id_rsa to connect to the remote server ?