This is a conceptional question.
When setting up a ssh connection to gitbucket/github, I am creating a private ssh key which is then used for creating the public ssh key.
Then I add the public key to gitbucket.
Hence as my computer hold the private key, it can decrypt the encrypted messages coming from gitbucket.
So I understand for example how git clone works.
But gitbucket has no own private key, and I did not add a public key to my computer which was generated by that (non existing) private key. So how should git push work via ssh???