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