
Ich habe einige Endpunkte, mit denen ich mich über SSH verbinden möchte, um beispielsweise Powershell Remoting
Skripte zur Automatisierung ausführen zu können.
Wie kann ich den Zugriff zentralisieren?
SSH
Endpunkte würden sich mit einem zentralen Server verbinden- Endpunkte würden diese
SSH
Verbindung offen halten SSH
Ich 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önnenSSH
.
Ich bin etwas verwirrt über Schritt 3.
- Könnte ich Remote-Aktionen nur durchführen und eine Verbindung herstellen ,
SSH
indem ichPowershell
,PuTTY
,Remote Desktop
usw. auf dem zentralen Server ausführe? - Könnte ich die SSH-Verbindungen über diesen
SSH
Server 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
Powershell
DateienRemote Desktop
oder andereSSH
Elemente von Geräten im selben Netzwerk auszuführen?
Geräte könnten sein Windows
oderLinux
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
Powershell
Skripte und andere SSH-Elemente auf den Endpunkten ausführen.
Antwort1
In Ihrem ersten Szenario haben Sie
- Client --SSH-> Server
- Der Client wartet über diese Verbindung auf eine SSH-Sitzung vom Server.
- 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\>'