Howto kill hanging OpenSSH sessions

Note to myself: Hanging OpenSSH sessions can be killed with “<enter>~.” (enter key, tilde, period).

Most probably overlooked facts:

  • You have to press the enter key before the tilde character to enter the special command mode
  • With dead keys an additional space is needed after tilde
  • There are some other special commands available as well, see integrated help via ~?

IdentitiesOnly in ssh_config

Der OpenSSH-Client bietet die Möglichkeit mehrere Keys zu verwalten. Das ist nützlich, wenn man z.B. für unterschiedliche Server unterschiedliche Keys verwendet. Oder bei gitolite einen Key für Shell-Zugriff besitzt und einen für die git-Repositories selbst wobei nur letzterer auf den Command-Line-Wrapper gitolite-shell gemappt ist.

Für diesen Zweck richtet man in der Datei ~/.ssh/config zwei Hosts mit unterschiedlichen Keys (“Identities” genannt) ein:

Host hostgit
  Hostname git.example.com
  IdentityFile ~/.ssh/id_git

Host hostshell
  Hostname git.example.com
  IdentityFile ~/.ssh/id_shell

Leider ist mit dieser Konfiguration alleine nicht sichergestellt, daß der angegebene Key verwendet wird. Es kann nach wie vor vorkommen, daß genau der falsche Key dem Server geschickt wird. Das liegt daran, daß der ssh-agent eine eigene Logik hat, welche Keys er auswählt und die IdentityFile – Angaben lediglich diese Keys der Liste der möglichen Keys hinzufügen.

Continue reading “IdentitiesOnly in ssh_config”