Supongamos que queremos evitar un Proxy HTTP con SSH y PuTTY, pero queremos hacerlo sin tener que recurrir a un usuario en el equipo remoto (CASA) que tenga acceso al sistema; es decir, queremos poder navegar saliendo a través de CASA, pero sin poder acceder a una shell en CASA.
Lo que vamos a hacer es crear un usuario proxyssh para permitir la conexión, y le vamos a asignar una shell /usr/local/bin/proxyssh capada para que no pueda iniciar sesión. Veamos cómo crear el usuario y asignar la shell:
useradd proxyssh -d /home/proxyssh -c "Xtrasgu SSH Tunneling" -g xtrasgu -s /usr/local/bin/proxyssh
Como shell a medida que no permita establecer conexión, vamos a definir la siguiente:
root@xtrastu:/home/proxyssh/.ssh# cat /usr/local/bin/proxyssh #!/bin/bash echo -e '\nXtrasgu SSH Tunneling\n' read
Una vez configurado esto, podemos crear el tunel SSH siguiendo las indicaciones de Cómo Evitar un Proxy HTTP con SSH y PuTTY.
La idea de esta entrada está sacada de [Solucionado] Crear usuario para login remoto sin shell.
Yo hice algo similar pero en lugar de tu proxyssh hice un programa en C llamado soloTunel, con el siguiente código:
int main(){
printf(«Presione ENTER para salir.»);
scanf(«%s»);
return 0;
}
La ventaja es que sólo gasta 324kb contra los 7700kb de bash, en un servidor con varios usuarios que sólo necesitan el tunel la diferencia se nota bastante.