blob: b76268849630142b919bccbe4b1999819f1ec311 [file] [log] [blame]
Gerrit SSH Access
#################
- `Gerrit Login <https://gerrit.opencord.org/login/%2Fq%2Fstatus%3Aopen%2B-is%3Awip>`_
Generate an :ref:`SSH Key <gerrit-user-account>` for access
============================================================
.. sourcecode:: shell
$ ssh-keygen -t ed25519 -f id_gerrit -C 'tux@opennetworking.org'
- Login and configure gerrit
- Verify your ssh connection (manual/explicit args)
- ssh -T -p 29418 -i ~/.ssh/id_gerrit tux@gerrit.opencord.org
- -T # disable pseudo terminal access, simple verify
- -p(port)
- -i(dentity) # ssh key
- Expect to see::
\*\*\*\* Welcome to Gerrit Code Review \*\*\*\*
Hi tux, you have successfully connected over SSH.
Unfortunately, interactive shells are disabled.
Load your ssh key(s) to prompt for a passprase once
===================================================
.. sourcecode:: shell
# ssh-add will prompt for the passphrase for your key.
# This is a one-time operation per login session.
$ ssh-add ~/.ssh/id_gerrit
$ ssh-add -l
Create ~/.ssh/config to simplify your connections
=================================================
.. sourcecode:: shell
FILE: ~/.ssh/config
# -----------------------------------------------------------------------
# AddKeysToAgent yes auto ssh-add key for reuse this login session.
# IdentitiesOnly yes only use identity provided, no fallback
# -----------------------------------------------------------------------
Host github.com
IdentityFile ~/.ssh/github.com/id_ed25519
IdentitiesOnly yes
AddKeysToAgent yes
# (default) Port 22
User tux
Host gerrit.opencord.org
Hostname gerrit.opencord.org
IdentityFile ~/.ssh/gerrit.opencord.org/id_ed25519
IdentitiesOnly yes
AddKeysToAgent yes
Port 29418
User tux@opennetworking.org
With ~/.ssh/config setup simply connect to the target machine:
==============================================================
- ssh gerrit.opencord.org
Secure permissions on ~/.ssh
============================
.. sourcecode:: shell
$ chown -R {my_login}:{my_login} ~/.ssh
$ chmod -R ~/.ssh u+rwx,og-rwx
$ find ~/.ssh -type d -print0 | xargs -0 chmod u=rwx
$ find ~/.ssh -type f -print0 | xargs -0 chmod u=r
$ find ~/.ssh -name '*.pub' -type f -print0 | xargs -0 chmod u=rw
$ chmod u=rw ~/.ssh/config ~/.ssh/known_hosts* ~/.ssh/authorized_keys
Debugging connection problems
===============================
- ssh [-v | -vv | -vvv ] to enable connection debugging.
- For conneciton problems be explicit when specifying arguments:
- ssh -p(ort) -i(dentity) {user}@{host}
- Use ssh-add -D to clear your keyring and force passphrase prompting.