V
e
r

l
i
s
t
a
d
o

tractatus@lapipaplena:/# _

 

ssh

Comunicación cifrada entre dos máquinas.

$ ssh usuario@host
básica
$ ssh -v usuario@IP_o_host
comprobar errores en una conexión
$ ssh -p 4000 usuario@host
especificando un puerto
$ ssh -fND localhost:2080 usuario@host
Crear un servidor proxy en una máquina remota. La “N” es para que no se puedan ejecutar comandos
$ ssh -X -Y usuario@host akregator
Lanzar una aplicación remota en local. Ver punto 11 de esta entrada
$ ssh usuario@host ls
lanzar un comando remoto y visualizarlo en local
$ ssh -t usuario@host newsbeuter
lo mismo si precisa consola
$ ssh -D 9999 usuario@host
abrir un puerto a partir del cual tunelar una conexión
$ ssh user@host_ip 'DISPLAY=":0.0" import -window root screenshot.png'
realizar pantallazo de una sesión remota. Se archiva en el remoto no en local
$ ssh usuario@host "tar -cf - /home/usuario/dir" | gzip dir.tar.gz
Comprimir un directorio remoto
$ ssh usuario@host cat /home/usuario/archivo.txt | xclip -selection
Copiar el contenido de un archivo remoto en el clipboard local
$ ssh -o "StrictHostKeyChecking no" usuario@host
Evitar verificación de known host al conectar
# gedit /var/run/motd
modificar el mensaje de bienvenida de ssh

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
Para activarlo, descomentar del archivo “/etc/ssh/sshd_config” la línea: Banner /etc/issue.net

3.-

Tunel inverso:

$ ssh -R 10000:localhost:22 usuario2@host2
lanzado desde host1 hacia host2 crea un tunel por el puerto 10000
$ ssh usuario2@host2
Lanzado desde host3 hacia host2

Una vez entrado en host2, lanzar:

$ ssh usuario1@localhost -p 10000
Para conectar el host3 con el host1

Otro caso de tunel inverso:

host1 no tiene acceso al router y lanza:

$ ssh -N usuario@host2 -R 2222:127.0.0.1:22
hacia el host2 para crear un tunel por el puerto 2222
$ ssh usuario@host2
Usuario host3 se conecta a host2
$ ssh usuario@127.0.0.1 -p 2222
Y una vez entrado en host2 se conecta por el tunel a host1

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
Crear la clave
$ ssh-copy-id usuario@IP_o_HOST
enviar la clave al remoto

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
Creando este fichero vacio se deshabilitan los mensajes. Borrandolo vuelven a aparecer
# nano /etc/motd
Archivo para personalizar los mensaje de bienvenida a quien se loguea en el sistema

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
Pedirá igualmente contraseña
$ 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
Navegando por staredsi.eu aceptas las cookies que utilizamos en esta web. Más información: Ver política de cookies
[0] 0:bash*
2584 entradas - Acerca del Tractatus
La Pipa Plena 2024