SSH-Zugriff auf viele Geräte zentralisieren?

SSH-Zugriff auf viele Geräte zentralisieren?

Ich habe einige Endpunkte, mit denen ich mich über SSH verbinden möchte, um beispielsweise Powershell RemotingSkripte zur Automatisierung ausführen zu können.

Wie kann ich den Zugriff zentralisieren?

  1. SSHEndpunkte würden sich mit einem zentralen Server verbinden
  2. Endpunkte würden diese SSHVerbindung offen halten
  3. SSHIch müsste einen universellen Zugriff über SSH auf die Endpunkte einrichten, die am Server enden. Mit universellem Zugriff meine ich, dass Geräte im selben Netzwerk diese offenen Verbindungen idealerweise für beliebige Zwecke nutzen können SSH.

Ich bin etwas verwirrt über Schritt 3.

  • Könnte ich Remote-Aktionen nur durchführen und eine Verbindung herstellen , SSHindem ich Powershell, PuTTY, Remote Desktopusw. auf dem zentralen Server ausführe?
  • Könnte ich die SSH-Verbindungen über diesen SSHServer in das allgemeine Netzwerk „einbringen“, sodass Geräte im selben Netzwerk über SSH über den zentralen Server eine Verbindung zu den Systemen herstellen können?
  • Gibt es eine bessere Möglichkeit, mehrere Endpunkte über SSH mit einem zentralen Server zu verbinden, um PowershellDateien Remote Desktopoder andere SSHElemente von Geräten im selben Netzwerk auszuführen?

Geräte könnten sein WindowsoderLinux

Ich vermute:

  • Jeder der Endpunkte aus mehreren Remote-Netzwerken verbindet sich über SSH mit dem SSH-Server auf Lan X
  • Geräte auf Lan X müssen per SSH auf den SSH-Server auf Lan X zugreifen.
  • Nach dem SSH-Zugriff auf den SSH-Server konnten die Geräte auf Lan X nun PowershellSkripte und andere SSH-Elemente auf den Endpunkten ausführen.

Antwort1

In Ihrem ersten Szenario haben Sie

  1. Client --SSH-> Server
  2. Der Client wartet über diese Verbindung auf eine SSH-Sitzung vom Server.
  3. Server --SSH-> Client, führt Befehle aus usw.

Dies nennt manSSH-Reverse-Tunnelund ist ziemlich einfach einzurichten:

# On client, create an open tunnel from Client:22 -> Server:2222
ssh -R 2222:localhost:22 user@Server

# On server, connect to local 2222, and you're connected to that session
ssh -p 2222 user@localhost

Jeder Client muss sich über einen separaten Port verbinden

Um anderen Clients die Nutzung dieser Sitzungen zu ermöglichen (z. B. Client1 -> Server <- Client2), führen Sie einfach eine SSH-Verbindung vom Client zum Server durch und stellen Sie dann wie oben beschrieben eine Verbindung zu den Tunneln her.

Auflistenwelche Clients an welchen Ports angeschlossen sind, können Sie auf dem Server (Linux) ausführen:

 % sudo lsof -i -n | egrep '\<sshd\>'

verwandte Informationen