ssh

Mayo 16 01:07

Internet de forma segura en una red insegura, muy fácil usando SSH. Sin VPN.

Para navegar, usar el correo o cualquier otra aplicación con la que necesitemos conectar de forma segura desde una red insegura (WIFI público, red de tu primo el mafioso, etc...), sin tener que configurar una VPN, solo necesitamos acceso remoto a un ordenador (de nuestra confianza) por SSH. Usando la (muchas veces desconocida) opción -D, podremos abrir localmente un servidor SOCKS (soporta SOCKS4 y SOCKS5) seguro en el puerto que se le indique. Así podremos usar la conexión SSH a modo de túnel privado. Para aplicaciones que no dispongan de configuración proxy, podemos utilizar tsocks.
# Abrimos un proxy en localhost, puerto 22000. 
$ ssh USUARIO@MAQUINA_SEGURA -D 22000
Lenguaje: 
bash
Feb 19 10:00

Acelerar conexiones por ssh

Muchas veces nos encontramos entrando varias veces a un mismo servidor por ssh y por cada conexión hay que escribir de nuevo la contraseña y esperar el método de autenticación. OpenSSH proporciona un método mediante el cual no hace falta esto, sino que para toda conexión se utiliza el mismo socket. Sólo hay que crear un fichero en .ssh/config con el siguiente contenido:
Host *
    ControlMaster auto
    ControlPath ~/.ssh/master-%r@%h:%p
Lenguaje: 
bash
Feb 09 17:49

rsync-over-ssh advanced use

If you want to make rsync-over-ssh to use specific 'ssh' options like, using a different identity key than the default one, you can use the '-e' rsync argument to pass options to the ssh command. Example above :]
# make rsync to use '/root/.ssh/non-bugged-id_rsa' to authenticate against the foreign host
#
rsync -avuz -e 'ssh -i /root/.ssh/non-bugged-id_rsa' remoteUser@remoteHost:/path /backup/path
Lenguaje: 
bash
Nov 18 12:23

Ignorar ssh "Offending key for IP..."

Me he encontrado varias veces, en el caso de tener en una misma IP, dos servidores ssh en distintos puertos, con lo que el cliente de ssh se queja de que la key que el servidor le ofrece es distinta a la que [primero] aceptaste para esta IP. Esto, es una medida de seguridad para evitar ataques man-in-the-middle, por ejemplo, pero a veces como en el caso que comentaba es una coña... También podemos encontrarnos con el mismo caso cuando tenemos 2 servidores en alta disponibilidad que van compartiendo una misma IP de frontend. Para estos casos en los que quizá nos interese saltarnos estos warnings y sus correspondientes preguntas yes/no, podemos usar esta opción del cliente ssh.
ssh -o StrictHostKeyChecking=no admin@server1 -p 60022
ssh -o StrictHostKeyChecking=no admin@server1 -p 61022
Lenguaje: 
bash
Oct 27 17:08

Reverse ssh tunnel

This is very useful with dinamic IP connections. You can connect from the host with the dinamic IP, leave the tunnel open to other machine with ssh access and fixed IP and then connect to this machine on specific port (22000 in the example) to connect to the host with dinamic IP. Also it can be useful in case you need access to a host which is inside a local network and you can't access from outside, but from this host you can connect to outside. (Ya lo pondré es cristiano otro día)
# Reverse ssh tunnel:
# Host to access -> destination.host.net ; user=dest_user
dest_user@destination.host.net$ ssh -R 22000:localhost:22 -f -N src_user@source.host.net
 
# Source host    -> source.host.net      ; user=src_user
src_user@source.host.net$ ssh -p 22000 dest_user@localhost