1.3 KiB
create a git user
on debian, sudo adduser git
switch to git user with sudo su -l git
create a .ssh
dir in the git user's home dir and make it only accessible by the git user
mkdir ~/.ssh
chmod 700 ~/.ssh
create an authorized_keys
file in the .ssh
folder, and make it accessible only by the git user
touch .ssh/authorized_keys
chmod 600 `.ssh/authorized_keys`
create a private/public key pair locally to authenticate a user on a machine to connect to the remote server
ssh-keygen -t rsa
and finally copy it into the (remote) git user's .ssh/authorized_keys
, for example using ssh-copy-id
or giving the public key to the server administrator.
creating bare git repositories
create directories within git's home dir (nested paths are allowed) with the .git
extension, for example my-projects/my-repo.git
or just my-repo.git
.
git init --bare repo.git
there now exists an empty git repository on the server.
the remote can now be added to a local repository
git remote add origin git@server:my-repo.git
git push -u origin main
connecting using the key
add an entry to your local .ssh/config
Host myhost
HostName example.com
User git
IdentityFile ~/.ssh/id_rsa
and connect with
ssh myhost