Comunicación cifrada entre dos máquinas.
$ ssh usuario@host
$ ssh -v usuario@IP_o_host
$ ssh -p 4000 usuario@host
$ ssh -fND localhost:2080 usuario@host
$ ssh -X -Y usuario@host akregator
$ ssh usuario@host ls
$ ssh -t usuario@host newsbeuter
$ ssh -D 9999 usuario@host
$ ssh user@host_ip 'DISPLAY=":0.0" import -window root screenshot.png'
$ ssh usuario@host "tar -cf - /home/usuario/dir" | gzip dir.tar.gz
$ ssh usuario@host cat /home/usuario/archivo.txt | xclip -selection
$ ssh -o "StrictHostKeyChecking no" usuario@host
# gedit /var/run/motd
1.-
conexión remota. El servidor ha de tener el archivo /etc/ssh/sshd_config con los siguientes parámetros:
AllowTcpForwarding yes
GatewayPorts yes
Luego configurar Firefox para usar un servidor proxy 127.0.0.1 puerto 9999.
2.-
Modificar el mensaje antes del login
# gedit /etc/issue.net
3.-
Tunel inverso:
$ ssh -R 10000:localhost:22 usuario2@host2
$ ssh usuario2@host2
Una vez entrado en host2, lanzar:
$ ssh usuario1@localhost -p 10000
Otro caso de tunel inverso:
host1 no tiene acceso al router y lanza:
$ ssh -N usuario@host2 -R 2222:127.0.0.1:22
$ ssh usuario@host2
$ ssh usuario@127.0.0.1 -p 2222
Nota.- Si host2 no corriera por el puerto 22 substituir por: usuario@host2 -p PUERTO
4.-
Crear clave publica para acceder a un remoto sin que pida identificación:
$ ssh-keygen -b 4096 -t rsa
$ ssh-copy-id usuario@IP_o_HOST
En caso de tener la conexión en un puerto distinto:
$ ssh-copy-id -p 7000 USER@HOST
5.-
Para deshabilitar el acceso a todos los usuarios excepto a root:
# touch /etc/nologin
# chmod 644 /etc/nologin
6.-
Deshabilitar/personalizar los mensajes que aparecen cuando nos logueamos en algunas distros a un host remoto mediante SSH.
$ touch /home/usuario/.hushlogin
# nano /etc/motd
7.-
Crear un atajo para la conexión a servidores remotos:
$ nano .ssh/config
Y pegar el siguiente contenido debidamente modificado con nuestros datos referente e dos host remotos:
host servidor
hostname 192.168.1.10
port 22000
user USUARIO_SERVIDOR
host maquina1
hostname 192.168.1.15
port 22100
user USUARIO_MAQUINA1
Nota.- Delante de las lineas hostname, port y user existe un espacio.
Al crear este archivo, la conexión se realizará con:
$ ssh servidor
$ ssh maquina1
8.-
Evitar desconexiones por inactividad:
$ nano .ssh/config
Y pegar el siguiente contenido:
Host *
ServerAliveInterval 120
ServerAliveCountMax 3
9.-
Añadir un registro de las acciones realizadas dentro de cada sesión SFTP
# nano /etc/ssh/sshd_config
Y dejar la linea como se indica:
Subsystem sftp /usr/lib/openssh/sftp-server -l INFO
Tras reiniciar ssh, el registro se plasmará en /var/log/auth.log
10.-
Aumentando la seguridad del servidor ssh:
# nano /etc/ssh/sshd_config
Y añadir o modificar las siguientes lineas:
AllowUsers juan pedro andrés (Limitando a uno o varios los usuarios autorizados)
AllowGroup oficina (Restringir acceso a solo un grupo)
Port 372 (Modificando puerto. Aconsejable uno inferior al 1024)
LoginGraceTime 40 (Mostrar la pantalla de login 40 segundos antes de cerrarse)
MaxStartups 4 (Cantidad máxima de conexiones simultaneas)
MaxAuthTries 3 (Limitar el número de intentos de logeo, tras los cuales se cierra la conexión)
11.-
Ajustes para tunelar aplicaciones gráficas:
En el servidor:
# nano /etc/ssh/sshd_config
AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
En la máquina cliente:
# nano /etc/ssh/ssh_config
ForwardX11 yes
ForwardX11Trusted yes
Después de reiniciar ssh, con el parámetro -X se visualizará la gui remota que tambien tiene que estar instalada en local.
$ ssh -X usuario@host akregator