SSH 1. Servidor a) Para arrancar al servidor de SSH, existe tipicamente un script que levanta al programa sshd. Se localiza en /etc/init.d Al ejecutar, como root /etc/init.d/ssh start debe indicar que genara las llaves del servidor. Observar la salida del comando. Checar con netstat -an | grep LISTEN | grep 22 que este activo el servidor de SSH, que escucha en el puerto 22 de TCP (por omision) b) Cambiar el password de knoppix, a lo que gusten, para probar accesos. c) Login seguro con el comando ssh. Desde una computadora cliente, probar ssh knoppix@nodo donde nodo es la direccion IP de la maquina donde se quieren conectar d) Copia de archivos. Existen dos comandos sftp, scp. + Crear un archivo, con texto en la maquina cliente + Investigar la sintaxis de ambos comandos y pasar el archivo a la maquina servidor (como usuario Knoppix) e) En cada computadora, siendo usuario knoppix, ejecutar ssh-keygen -t rsa Este paso genera una llave privada/publica para quien lo ejecuto Las llaves las genera en el directorio /home/knoppix/.ssh. Si se cambian a este directorio deben encontrar los siguientes archivos id_rsa -- llave privada RSA id_rsa.pub -- llave publica RSA chequen el contenido de ambos archivos. El archivo que se debe distribuir en cada maquina a la que se quieran conectar es id_rsa.pub. f) Deben intercambiar la llave pública con el administrador de la máquina a la que se deben conectar. Ya sea usando scp, sftp o con un floppy (:( ), copiar el archivo id_rsa.pub, a la maquina remota o servidor, y que resida en el directorio /home/knoppix/.ssh (en la maquina servidor tambien se debio ejecutar el paso e) ) DANDO OTRO NOMBRE El usuario de la cuenta knoppix de la computadora remota debe hacer cd /home/knoppix/.ssh mv id_rsa.pub authorized_keys g) Volver a realizar una conexion con ssh ssh knoppix@nodo aqui ya debe preguntar un passphrase en lugar del password UNIX (si no lo hace, hubo falla en el paso f) ) h) Uso de SSH Agent. Permite iniciar un shell y cargar la llave privada en la sesion del cliente, para evitar teclar cada vez que se conecten el passphrase ssh-agent $SHELL ssh-add i) Port forwarding. Maquina servidor: $ nc -l -p 2300 Maquina cliente : $ ssh -L2100:127.0.0.1:2300 IP donde: 2100 es el puerto LOCAL donde se escuchara la conexion 127.0.0.1 es la direccion IP reservada para "localhost" 2300 es el puerto REMOTO donde se encuentra el netcat corriendo IP es la direccion ip del servidor Verificar que la conexion se haya hecho con: (les va a pedir su passprhase) $ netstat -an | grep LISTEN | grep 2100 Para finalizar, en la maquina cliente ejecuten: $ nc localhost 2100 Esto es una prueba.... En la maquina servidor se debe ver: $ nc -l -p 2300 Esto es una prueba.... Si verifican el trafico con ettercap, ethereal u otro sniffer el trafico debe estar encriptado.