OpenSSH

about | blog | config | notes | github

openssh_logo.png

OpenSSH is a tool provided by the OpenBSD Project that allows for remote login via the SSH protocol.

1. Configuration

1.1. Use GPG Agent

Since we are using GnuPG's GPG Agent as the SSH agent, when in a terminal, ssh agent doesn't know that it has to change terminals (a bug in openssh). So when it connects to gpg-agent, it uses the terminal it was last configured to use. The following command when run in a terminal updates gpg-agent to use the current terminal for openssh. However, now if we run some ssh related command in the prior terminal, it will use the new terminal instead creating the exact inverse of the problem. Therefore we attempt to fix this by running this command before every SSH command.

https://bugzilla.mindrot.org/showbug.cgi?id=2824#c9

Match host * exec "gpg-connect-agent --no-autostart UPDATESTARTUPTTY /bye"

1.2. GitLab Workaround

Looks like an update to SSH caused some issues with GitLab. Hopefully there is a better fix because this seems janky (and could be insecure?)

Host gitlab.com
  UpdateHostKeys no

Created: 2021-11-13

Emacs 26.1 (Org mode 9.5)