Regarding gitlab, I seem to be stuck at ssh setup page for gitlab. Which ssh key am I giving them? Do I generate a new key pair for this instance or one that I have already created?
I have not used gitlab, but I have used github and a variety of non-web remote git servers, the underlying git authentication model will be the same.
I have a single ssh key that I use for authentication, connected to my email address. Github gets the public key (as does the git config on any other remote git server I interact with). After any reboot, the first command I run is ssh-add so that all terminals I open already have my credentials (nobody else has access to this computer), and interaction with github and others is seamless.