Solapas principales

Nov 24, 2013

Los 25 Comandos más útiles SSH

OpenSSH es la versión gratuita de la herramienta para conectividad SSH que la mayoría de los usuarios utilizan con confianza. Es de los pocos protocolos que encriptan todo el trafico  incluida la autentificacion inicial. Esta pequeña pero potente herramienta se ha ganado el reconocimiento de la comunidad de Internet, incluyendo empresas de seguridad como Trend Micro. En definitiva una herramienta que cualquier administrador de sistemas ha de usar dia a día en las tareas cotidianas, Aquí os dejo una recopilación de los comando que mas me gustan:

1) Copia la clave de ssh a un servidor user@host para evitar meter la contraseña cada vez.

1
ssh-copy-id user@host

ssh-keygen genera las claves de forma local.

2) Abre un túnel para acceder desde un puerto local a uno de un servidor remoto

1
ssh -N -L 2001:localhost:80 somemachine

Ahora puedes entrar al servidor remoto con la direccion http://localhost:2001/

3) Conecta tu micrófono al altavoz de un equipo remoto.

1
dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp

La calidad no es del todo optima, pero escucharse, se escucha.

4)Compara un archivo remoto con uno local.

1
ssh user@host cat /path/to/remotefile | diff /path/to/localfile -

Util para comparar diferencias entre los archivos locales y remotos.

5) Monta el directorio/systemadearchivos via SSH

1
sshfs name@server:/path/to/folder /path/to/mount/point

Para instalar SSHFS ir a  http://fuse.sourceforge.net/sshfs.html
Para montar archivos por Internet de forma segura.

6) Conexion SSH a traves de un tercer equipo

1
ssh -t reachable_host ssh unreachable_host

Queremos conectar a un equipo al que no tenemos acceso y tenemos que conectarnos a través del equipo que puede acceder a dicho equipo de forma local. Este comando creaa una conexion al equipo que no tenemos acceso de forma oculta a través del equipo que si tiene acceso.

7) Copia del Host1 al Host2 a traves de nuestro equipo

1
ssh root@host1 "cd /somedir/tocopy/ && tar -cf – ." | ssh root@host2 "cd /samedir/tocopyto/ && tar -xf -"

Útil si tenemos acceso al host1 y host2, pero ellos no tienen acceso entre si, y tampoco tienen acceso a nosotros (ncat no funciona)

8)Ejecuta un programa con interfaz gráfica de forma remota

1
ssh -fX @

La configuración SSH necesita que:

X11Forwarding yes # por defecto en Debian

Aunque también es conveniente dejar activado:
Compression delayed

9) Crear una conexión persistente a un equipo

1
ssh -MNf @

Crea una conexion persistente SSH a un equipo. Combinado con la configuracion en nuestro ~/.ssh/config:
Host host
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster no
Todas las conexiones SSH hacia el equipo irán por la conexion persistente en el Socket. Esto es muy util si estamos usando SSH para sincronizar archivos (usando rsync/sftp/cvs/svn) de forma regular porque no crea un socket nuevo cada vez que abre una conexion SSH.

10) Conectar la pantalla via SSH

1
ssh -t remote_host screen -r

Con este comando podemos ajuntar un monitor local a una conexión remota vía ssh

11) Llamada a puertos!

1
knock  3000 4000 5000 && ssh -p  user@host && knock  5000 4000 3000

Llama a puertos para abrir un servicio (ssh por ejemplo) y llama de nuevo al puerto para cerrar el puerto, hay que tener instalado knockd.
Ejemplo del archivo de configuración:
[options]
logfile = /var/log/knockd.log
[openSSH]
sequence = 3000,4000,5000
seq_timeout = 5
command = /sbin/iptables -A INPUT -i eth0 -s %IP% -p tcp –dport 22 -j ACCEPT
tcpflags = syn
[closeSSH]
sequence = 5000,4000,3000
seq_timeout = 5
command = /sbin/iptables -D INPUT -i eth0 -s %IP% -p tcp –dport 22 -j ACCEPT
tcpflags = syn

12) Elimina una linea en un archivo de texto. Útil para solucionar problemas

1
ssh-keygen -R

En este caso es mejor usar herramientas dedicadas.

13) Ejecuta comando complejos de forma remota vía SSH, sin escapar las comillas

1
ssh host -l user $(

Más sencillo, más exportable: ssh host -l user “cat cmd.txt”

14) Copia una base de datos MySQL a un nuevo servidor via SSH en un solo comando

1
mysqldump –add-drop-table –extended-insert –force –log-error=error.log -uUSER -pPASS OLD_DB_NAME | ssh -C user@newhost "mysql -uUSER -pPASS NEW_DB_NAME"

Dumps una base de datos MySQL a través de un túnel ssh comprimido y lo usa como entrada a mysql – i tener en cuenta que es el método más rápido de migrar una base de datos a un nuevo servidor.

15) Elimina una liea en un archivo de texto. Útil para arreglar advertencias de cambios de claves ssh

1
sed -i 8d ~/.ssh/known_hosts

16) Comando para copiar nuestra clave pública ssh a un nuevo servidor y no tenemos el comando ssh-copy-id

1
cat ~/.ssh/id_rsa.pub | ssh user@machine "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"

Si usamos Mac OS X o cualquier otra variante *nix que no posee el comando ssh-copy-id, en una sola linea escribimos nuestra clave pública a un equipo remoto para no tener que meter la contraseña para logearnos.

17) Prueba de red para ver las condiciones de una conexion ssh

1
yes | pv | ssh $host "cat > /dev/null"

Conecta al equipo vía ssh y muestra la velocidad de transferencia, redirigiendo todos los datos transferidos a /dev/null
necesita tener pv instalado
Debian: ‘apt-get install pv’
Fedora: ‘yum install pv’ (puede que necesite los repos ‘extras’ habilitados)

18) Como establecer una conexion gáfica a la cual podamos conectarnos

1
ssh -t user@some.domain.com /usr/bin/screen -xRR

Mucho antes de que las terminales tabbed, la gente ha estado usando esto para abrir múltiples shells a través de un mismo terminal de texto. Combinado con ssh, nos da la posibilidad para abrir tantos shells como queramos en las opciones anteriores. Si nos deconectamos con “Ctrl-a d” o se cierra por accidente nuestra sesión ssh, todos los procesos que estemos ejecutando permanecen activos. otros comando gráficos útiles son “Ctrl-a c” (abre nuevo shell) y “Ctrl-a a” (alternar entre shells). Más comando gráficos aquí: http://aperiodic.net/screen/quick_reference

19) Resumir una copia via scp de un arvhivo de gran tamaño

1
rsync –partial –progress –rsh=ssh $file_source $user@$host:$destination_file

Puede resumir una copia fallida ( útil cuando se transfieren archivos grandes como db dumps a través de vpn ) usando rsync.
Necesita rsync instalado en ambos equipos.
rsync –partial –progress –rsh=ssh $file_source $user@$host:$destination_file local > remote
or
rsync –partial –progress –rsh=ssh $user@$host:$remote_file $destination_file remote > local

20) Analizar el tráfico remoto via ssh con wireshark

1
ssh root@server.com 'tshark -f "port !22" -w -' | wireshark -k -i -

Así capturamos trafico en un equipo remoto con tshark, envía los datos raw pcap a través del enlace ssh, y lo muestra en wireshark. Con ctrl+C paramos la captura pero tambien nos cierra la ventana de wireshark. Esto podemos evitarlo usando el comando -c # en tshark para solo capturar un número # de paquetes, o redirigiendo los datos a través de una named pipe en vez de directamente de ssh a wireshark. Recomiendo filtrar tanto como se pueda en el comando a tshark para preservar en ancho de banda. tshark puede ser substituido con tcpdump usando:

1
ssh root@server.com tcpdump -w – 'port !22' | wireshark -k -i -

21) Tener una conexión ssh abierta de forma permanente

1
autossh -M50000 -t server.example.com 'screen -raAd mysession'

Abre una sesión ssh de forma permanente, fantástico para portátiles que pierden conectividad a Internet cuando se cambian de puntos de acceso inhalámbricos.

22) Clientes SSH más fuertes, rápidos y seguros

1
ssh -4 -C -c blowfish-cbc

Con esto forzamos la compresion IPv4, especificamos el cifrado con Blowfish. Dejamos cosas como el master control sessions porque no es compatible con la mayoría de los shells y ademas acelera el proceso.

23) Ahorrar ancho de banda con cstream

1
tar -cj /backup | cstream -t 777k | ssh host 'tar -xj -C /backup'

Con esto comprimimos con bzips una carpeta y la transferimos a una conexion de 777k bit/s.
cstream hace mucho más, si quereis mas informacion podeis ir a:http://www.cons.org/cracauer/cstream.html#usage
por ejemplo:

1
echo w00t, i’m 733+ | cstream -b1 -t2

24) Transferir nuestra clave SSH publica a otro equipo en uno solo paso

1
ssh-keygen; ssh-copy-id user@host; ssh user@host

Este comando nos permite transferir en un sencillo paso nuestra clave publica ssh para acceder al equipo sin necesidad de contraseña. Tened cuidado si ya tenemos tenemos la clave publica en el directorio ~/.ssh directory, porque puede ser que ssh-keygen la sobrescriba. ssh-copy-id copia la clave y la introduce en el equipo remoto en el archivo ~/.ssh/authorized_keys.

25) Copiar stdin al bufer de X11

1
ssh user@host cat /path/to/some/file | xclip

Si has tenido que scp un archivo al equipo de trabajo para enviarlo por mail como adjunto, xclip nos puede ayudar porque copia su stdin al buffer de x11, con ello solo tenemos que pulsar el botón central para pegar el contenido de ese archivo gigante.

Fuente Original: http://kikoseijo.com/25-de-los-comandos-mas-utiles-de-ssh/

Otros post SSH en fruteroloco.es:

http://fruteroloco.es/content/copiar-archivos-remoto-desde-terminal-y-viceversa-comando-scp

http://fruteroloco.es/content/comandos-poco-usados

Contenido por etiquetas

Linux Linux Tips Solución Linux Help Drupal Arch-Linux Media Front Hacking Terminal Mac OSX Linux-Distro Shell Videos Linux seguridad Manjaro Windows Servers Consola MacOS Linux Guías Comandos Android Ubuntu Drush Screencast Joomla Cracking Debian PHP Backtrack Command Line Xampp Virtualmin Compiz Fusion Server Drupal 7 Media Youtube mysql Skype Instalación Seguridad Telefonía ROOT Servidor Local Samba php7 Windows 10 MS-SQL Antergos CyanogenMod KDE ClamAv ownCloud Kali Linux error Elastix Escritorio Descargar Libros PDF Joomla Seguridad Setup Nivo Slider Sysmonitor Views hacking-windows Grub Webmin Drush_Make Wine Whatsapp Kali SSH Unix Noticias Xampp 1.8.1 Asterisk dd SQL servidor web Python google Covid19 sars-cov2 Líder Boot SCP Chrome red ROM Rootear url Limpias Drush Windows Katana apache Metasploit Top 500 url canonica SEO Youtube Distros Centos Virtual Joomla 3.0 Iphone XFCE Views Horizontal Slider Xwinwrap dselect .make Galaxy S DARKY´S ROM (bootstrap) exec: 90: : Permission denied Rarcrack Conky LPS Metasploitable Webform Open DNS CryptKeeper Webform_Layout Driver r8168 mpdf Vaio Sony fruteroloco scanner bmon pipenv Django Homebrew Mounty Java6 Kingsoft Office WPS FOCA MediaFront VMplayer Inyection SQL Viber Galaxy S4 Wake On Lan Wol Drupal 8 Streaming Atraci Tails Telegram Sigram 1and1 duff google-athenticator.app 2 factores C++ C XP ReacOS MITM Ettercap Wireshark eXtern OS python3 facturas Recovery Real Estate gmail Galaxy S3 vs Iphone 5 Horizontal Slider Media Vimeo Acquia Tilt 3D FNMT Certificado dnie Postfix WayBackMachine web.archive.org 2-FACTOR authenticator Webform Layout Triple-Boot Fish PBX Piropos Geek Texto Sustituir Jdownloader 10 Millones Ahorra Migrar Munich Aircrack-ng LAMP Supercomputadoras sniffing Script FDesktopRecorder Google-Earth compartir firewall sistema bitacora fallo firestarter Cain & Abel Office winAUTOPWN gh22ns50 grep GCP Arranque ncdu Cerebro PhpMyadmin g729 Códec Imagesloaded String htaccess SA-CORE-2013-003 Gimp Prestashop Papá FINK youtube-dl Sox internal server error 500 Redgum Secure Copy Shutter Alsi Encriptar Enlaces Externos Nube Joomla 2.5 FTP Line Redes Fing Overlook Fing Archserver Open Source