
Tengo algunos puntos finales a los que me gustaría conectarme a través de SSH para Powershell Remoting
poder ejecutar scripts para la automatización.
¿Cómo podría centralizar el acceso?
- Los puntos finales se conectarían
SSH
a un servidor central - Los puntos finales mantendrían esta
SSH
conexión abierta - Necesitaría crear acceso universal a través de SSH a los puntos finales que terminan en el servidor. Por acceso universal me refiero a que los dispositivos de la misma red idealmente podrían utilizar estas
SSH
conexiones abiertas para cualquierSSH
propósito.
Estoy un poco confundido acerca del paso 3.
- ¿Solo podría realizar acciones remotas y conectarme
SSH
ejecutandoPowershell
,PuTTY
etc.Remote Desktop
en el servidor central? - ¿Podría "traer" las conexiones SSH a través de este
SSH
servidor a la red general, de modo que los dispositivos de la misma red puedan conectarse a los sistemas a través de SSH a través del servidor central? - ¿Existe una mejor manera de conectar varios puntos finales a través de SSH a un servidor central para ejecutar
Powershell
, ejecutarRemote Desktop
u otrosSSH
elementos desde dispositivos en la misma red?
Los dispositivos podrían ser Windows
oLinux
Estoy adivinando:
- Cada uno de los puntos finales de múltiples redes remotas se conecta a través de SSH al servidor SSH en Lan X
- Los dispositivos en Lan X necesitarían SSH en el servidor SSH en Lan X
- Una vez conectados mediante SSH al servidor SSH, los dispositivos en Lan X ahora podrían ejecutar
Powershell
scripts y otros elementos SSH en los puntos finales.
Respuesta1
En su primer escenario, tiene
- Cliente --SSH-> Servidor
- El cliente espera una sesión SSH del servidor usando esta conexión
- Servidor --SSH-> Cliente, ejecuta comandos, etc.
Esto se llama untúnel inverso ssh, y es bastante sencillo de configurar:
# 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
Cada cliente necesita conectarse en un puerto separado
Para permitir que otros clientes usen esas sesiones (como Cliente1 -> Servidor <- Cliente2), simplemente SSH del cliente al Servidor, luego conéctese a los túneles como se muestra arriba
Listarqué clientes están conectados en qué puertos, puede ejecutar esto en el servidor (linux):
% sudo lsof -i -n | egrep '\<sshd\>'