I have an ssh key pair that was generated to use as an access key for my GoCD CI/CD server. It was working but due to some configuration changes I made (moved the server out of container to a Linux host) I needed to reinstall the keys on the Linux host, so I did. I had already generated the pair and rather than change the public key on Bitbucket I figured it would be easier to continue using the same pair (also I have some CI/CD agents running in containers that are currently using this key pair).
So here's where my problem begins. I move my pre-generated private key (
gocd) from my staging directory to the
go user's homedir (
[ip-10-71-10-66 docker]# cp ./gocd ~go/.ssh/id_rsa [root@ip-10-71-10-66 docker]# diff gocd ~go/.ssh/id_rsa [root@ip-10-71-10-66 docker]#
So far so good, the
id_rsa file and
gocd file appear to be the same. However, when I compare the public keys...
[root@ip-10-71-10-66 docker]# ssh-keygen -y -e -f ~go/.ssh/id_rsa && ssh-keygen -y -e -f gocd ---- BEGIN SSH2 PUBLIC KEY ---- Comment: "2048-bit RSA, converted by root@ip-10-71-10-66 from OpenSSH" TEXT REMOVED GsH8pAPy3iQI54HvSZn9qNtA19pL+8r/DlFb6X4qeTyvte0iEIqAYmuSJglcf6OlTx0FxR HK9y3iyG01zdcBdr2+O06j ---- END SSH2 PUBLIC KEY ---- ---- BEGIN SSH2 PUBLIC KEY ---- Comment: "2048-bit RSA, converted by root@ip-10-71-10-66 from OpenSSH" TEXT REMOVED bse2UtKDtTbN1EbUZ7XxLOeVG6j6CDokLagJ9LOxdLW0Zb4aMnm/sg1x5VcAY6rQKFEnSl F3z68VhKCw0ZOqVBNg8SGz ---- END SSH2 PUBLIC KEY ----
Hopefully from this example you can see why I'm confused. Now the really strange thing is that the public key that comes from the id_rsa file (the first output of the last command) actually matches an earlier private key I had generated.
What is going on here? Is there some caching happening in
ssh-agent that I'm not aware of? Is something else going on?