Wie kann ich von der AD-Anmeldung zum Root wechseln, um SSH-Schlüssel an /root/.ssh/authorized-keys zu senden?

Wie kann ich von der AD-Anmeldung zum Root wechseln, um SSH-Schlüssel an /root/.ssh/authorized-keys zu senden?

Ich versuche, SSH-Schlüssel vom Jump-Server aus mithilfe eines Shell-Skripts an mehrere Server zu senden. Ich kann mich nur von meinem Ad-Konto aus anmelden und dann zu Root wechseln und mich nicht direkt als Root anmelden. Wie kann ich in diesem Fall SSH-Schlüssel an Server senden, die unter /root/.ssh/authorized-keys kopiert werden müssen?

Antwort1

Sie müssen auf dem Jump-Server kein Root-Benutzer sein, um als Root auf andere Server zugreifen zu können.

Erstellen Sie zunächst eine SSH-Konfigurationsdatei, falls Sie noch keine haben. Sie befindet sich normalerweise in ~/.ssh/config (wobei ~ die Abkürzung für $HOME ist).

Zunächst müssen Sie die IP-Bereiche der Server kennen, die Sie vom Jump-Server aus erreichen möchten. Hoffentlich liegen diese IPs nicht im selben Subnetz wie der Jump-Server.

Hier ist ein Beispiel:

# save as ~/.ssh/config
CheckHostIP             no
StrictHostKeyChecking   no
AddKeysToAgent          yes
ForwardAgent            yes
UserKnownHostsFile      /dev/null

# Servers to get to via jump server
# (note their subnet defined by a range using an asterisk, you need to provide)
# This establishes root as login id for every server in the range 
# and uses the JumpServer (can leave that name as is) as a proxy.
Host                    192.168.122.*
    ProxyJump           JumpServer
    User                root

# JumpServer info. Provide its IP or FQDN and your user id
# IP or FQDN set in the HostName; you can leave Host set as JumpServer
# since this is referred to above in ProxyJump line
Host                    JumpServer
    HostName            ip-or-fqdn-of-jumpserver
    User                your-user-id

Im obigen Beispiel müssen Sie lediglich 3 Dinge für Ihre Umgebung ändern:

  • Ersetzen Sie ihn 192.168.122.*durch den IP-Bereich Ihres Servers.
  • Ersetzen Sie es ip-or-fqdn-of-jumpserverdurch die IP-Adresse oder den FQDN (vollqualifizierten Domänennamen) Ihres Jump-Servers.
  • Ersetzen Sie es your-user-iddurch Ihre Benutzer-ID auf dem Jump-Server, mit dem Sie sich per SSH angemeldet haben.

Sobald diese Datei erstellt ist, können Sie den öffentlichen Schlüssel mit dem ssh-copy-idunten angezeigten Befehl in die Root-Datei authorized_keys für jeden Server einfügen. Beim ersten Mal müssen Sie natürlich möglicherweise Anmeldeinformationen angeben.

Außerdem sind die meisten Server standardmäßig so konfiguriert, dass der direkte SSH-Root-Zugriff nicht gestattet ist. In diesem Fall müssen Sie auf jedem Server weitere sshd_config-Änderungen vornehmen.

Kopieren Sie nun einfach ssh-copy-id 192.168.122.10Ihren öffentlichen Schlüssel in die Root-Datei authorized_keys auf einem Server. Ersetzen Sie die IP natürlich durch Ihre eigene Server-IP. Wiederholen Sie dies für jeden Server.

Sobald der Schlüssel auf jedem Server vorhanden ist, sollten Sie nun in der Lage sein, ssh some-server-IPautomatisch eine Verbindung mit Ihrer Benutzer-ID zum Jump-Server herzustellen und Portweiterleitungen einzurichten, um als Root auf den Remote-Server zuzugreifen.

verwandte Informationen