Initial Login

It’s time to exit the gerrit account as you now have Gerrit running on your host and setup your first workspace.

Start a shell with the credentials of the account you will perform development under.

Check whether there are any ssh keys already. You’re looking for two files, id_rsa and id_rsa.pub.

  user@host:~$ ls .ssh
  authorized_keys  config  id_rsa  id_rsa.pub  known_hosts

If you have the files, you may skip the key generating step.

If you don’t see the files in your listing, your will have to generate rsa keys for your ssh sessions:

SSH key generation

Please don’t generate new keys if you already have a valid keypair! They will be overwritten!

  user@host:~$ ssh-keygen -t rsa
  Generating public/private rsa key pair.
  Enter file in which to save the key (/home/user/.ssh/id_rsa):
  Created directory '/home/user/.ssh'.
  Enter passphrase (empty for no passphrase):
  Enter same passphrase again:
  Your identification has been saved in /home/user/.ssh/id_rsa.
  Your public key has been saved in /home/user/.ssh/id_rsa.pub.
  The key fingerprint is:
  00:11:22:00:11:22:00:11:44:00:11:22:00:11:22:99 user@host
  The key's randomart image is:
  +--[ RSA 2048]----+
  |     ..+.*=+oo.*E|
  |      u.OoB.. . +|
  |       ..*.      |
  |       o         |
  |      . S ..     |
  |                 |
  |                 |
  |          ..     |
  |                 |

Registering your key in Gerrit

Open a browser and enter the canonical url of your Gerrit server. You can find the url in the settings file.

  gerrit@host:~$ git config -f ~/gerrit_testsite/etc/gerrit.config gerrit.canonicalWebUrl

Register a new account in Gerrit through the web interface with the email address of your choice.

The default authentication type is OpenID. If your Gerrit server is behind a proxy, and you are using an external OpenID provider, you will need to add the proxy settings in the configuration file.

  gerrit@host:~$ git config -f ~/gerrit_testsite/etc/gerrit.config --add http.proxy http://proxy:8080
  gerrit@host:~$ git config -f ~/gerrit_testsite/etc/gerrit.config --add http.proxyUsername username
  gerrit@host:~$ git config -f ~/gerrit_testsite/etc/gerrit.config --add http.proxyPassword password

Refer to the Gerrit configuration guide for more detailed information about authentication and proxy settings.

The first user to sign-in and register an account will be automatically placed into the fully privileged Administrators group, permitting server management over the web and over SSH. Subsequent users will be automatically registered as unprivileged users.

Once signed in as your user, you find a little wizard to get you started. The wizard helps you fill out:

  • Real name (visible name in Gerrit)

  • Register your email (it must be confirmed later)

  • Select a username with which to communicate with Gerrit over ssh+git. Note that once saved, the username cannot be changed.

  • The server will ask you for an RSA public key. That’s the key we generated above, and it’s time to make sure that Gerrit knows about our new key and can identify us by it.

  user@host:~$ cat .ssh/id_rsa.pub
  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1bidOd8LAp7Vp95M1b9z+LGO96OEWzdAgBPfZPq05jUh
  wzgBBBagBr0ZZCEkl74s4KFZp6JJw/ZSjMRXsXXXWvwcTpaUEDii708HGw== John Doe@MACHINE


Please take note of the extra line-breaks introduced in the key above for formatting purposes. Please be sure to copy and paste your key without line-breaks.

Copy the string starting with ssh-rsa to your clipboard and then paste it into the box for RSA keys. Make absolutely sure no extra spaces or line feeds are entered in the middle of the RSA string.

Verify that the ssh connection works for you.

  user@host:~$ ssh user@localhost -p 29418
  The authenticity of host '[localhost]:29418 ([]:29418)' can't be established.
  RSA key fingerprint is db:07:3d:c2:94:25:b5:8d:ac:bc:b5:9e:2f:95:5f:4a.
  Are you sure you want to continue connecting (yes/no)? yes
  Warning: Permanently added '[localhost]:29418' (RSA) to the list of known hosts.

  ****    Welcome to Gerrit Code Review    ****

  Hi user, you have successfully connected over SSH.

  Unfortunately, interactive shells are disabled.
  To clone a hosted Git repository, use:

  git clone ssh://user@localhost:29418/REPOSITORY_NAME.git