Heiko Maaß Software-Entwicklung und Elektronische Musik

Automatisierter Login über einen Bastion Host

Um SSH-Zugriff auf einen nicht-öffentlichen Server zu ermöglichen, werden sogenannte Bastion Hosts (oder Jump Hosts) eingesetzt, die als Proxy fungieren.

Der Nutzer selbst loggt sich zuerst auf dem Bastion-Host an, und von dort erfolgt ein weiteres Login auf den eigentlichen Zielserver.

Dieser Loginprozess kann automatisiert werden. Dazu konfiguriert man in der .ssh/config-Datei den Bastion-Host als eigenen Host. In der Host-Konfiguration der Zielserver (im Beispiel sind das alle Server in einer IP-Range) nutzt man die ProxyJump-Direktive in Kombination mit Referenz auf Nutzername und Bastion-Host.

Host bastion
  Hostname bastion-hostname.de
  User someuser
  IdentityFile ~/.ssh/id_rsa
  ForwardAgent yes
  ServerAliveInterval 60
  ServerAliveCountMax 2

Host 10.101.*.*
  IdentityFile ~/.ssh/id_rsa
  User someuser
  ProxyJump someuser@bastion

Quellen: