Telnet/SSH y la Linea de Comandos

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 06:28, 1 July 2007 (edit)
KwdRq6 (Talk | contribs)
m
← Previous diff
Revision as of 12:32, 1 July 2007 (edit) (undo)
BrainSlayer (Talk | contribs)

Next diff →
Line 1: Line 1:
-[http://people.msoe.edu/~millerni/forums.php?show=topic&id=114&forum=13 meridia] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=157&forum=13 free wwe ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=128&forum=13 phentermine online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=158&forum=13 xanax online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=106&forum=13 cheap hydrocodone] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=160&forum=13 zanaflex online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=102&forum=13 free free ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=97&forum=13 didrex online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=135&forum=13 free real ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=100&forum=13 buy fioricet] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=96&forum=13 diazepam online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=136&forum=13 rivotril online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=87&forum=13 ativan online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=144&forum=13 free sonyericsson ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=137&forum=13 free sagem ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=152&forum=13 free verizon ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=139&forum=13 free sharp ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=125&forum=13 cheap ortho] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=156&forum=13 wellbutrin online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=151&forum=13 online valium] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=121&forum=13 nexium online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=147&forum=13 tracfone ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=142&forum=13 sony ericsson ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=94&forum=13 cool ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=161&forum=13 zoloft] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=117&forum=13 motorola ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=133&forum=13 qwest ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=138&forum=13 samsung ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=122&forum=13 free nextel ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=89&forum=13 celexa online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=99&forum=13 ericsson ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=115&forum=13 free midi ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=146&forum=13 cheap tenuate] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=109&forum=13 cheap levitra] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=82&forum=13 adipex online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=132&forum=13 punk ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=130&forum=13 cheap propecia] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=83&forum=13 albuterol online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=85&forum=13 cheap alprazolam] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=153&forum=13 buy viagra] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=148&forum=13 tramadol online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=143&forum=13 free sony ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=86&forum=13 order ambien] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=103&forum=13 funny ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=104&forum=13 hgh online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=129&forum=13 free polyphonic ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=90&forum=13 cialis online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=123&forum=13 nokia ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=101&forum=13 but flexeril] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=124&forum=13 online norco] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=149&forum=13 cheap ultracet] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=88&forum=13 cheap carisoprodol] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=108&forum=13 free kyocera ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=93&forum=13 clonazepam online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=127&forum=13 pharmacy online online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=95&forum=13 cyclobenzaprine online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=150&forum=13 ultram online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=111&forum=13 lisinopril online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=159&forum=13 xenical online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=162&forum=13 cheap zyban] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=116&forum=13 mono ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=112&forum=13 buy lorazepam] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=145&forum=13 free sprint ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=110&forum=13 cheap lipitor] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=131&forum=13 order prozac] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=120&forum=13 music ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=105&forum=13 cheap hoodia] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=155&forum=13 vigrx online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=98&forum=13 diethylpropion online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=113&forum=13 but lortab] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=154&forum=13 cheap vicodin] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=119&forum=13 free mtv ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=84&forum=13 alltel ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=141&forum=13 cheap soma] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=107&forum=13 jazz ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=140&forum=13 sildenafil online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=126&forum=13 cheap paxil] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=118&forum=13 mp3 ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=92&forum=13 clomid online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=91&forum=13 free cingular ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic+=Telnet=
 +Telnet es una manera facil de acceder a la Linea de Comandos (Shell) de tu WRT54G y acceder a configuración no disponible via la interfaz web. Ya que las contraseñas de Telnet no estan encriptadas, es vulnerable a ataques de sniffing. Secure Shell es un reemplazo para Telnet que usa encripción dura, y es recomendado su uso sobre Telnet en cualquier red pública. (Ver Sección SSH abajo.) Telnet opera en el puerto 23 y usa un protocolo ASCII.
 + 
 +==Configurando==
 +Desde la [[Interface Web]]<br>
 +-Click en el tab '''Administration >> Services'''<br>
 +-Dejar '''Enabled''' en la sección '''Telnet'''<br>
 +-Guardar Cambios<br>
 + 
 +==Uso==
 +-Abrir tu cliente Telnet favorito<br>
 +-connect to <Direccion_IP_LAN_del_Router><br>
 +-Cuando pregunte por nombre de usuario (''username''), ingresar ''root''<br> --Debe ser root y no el nombre de usuario al que cambiaste de haberlo hecho
 +-Cuando pregunte por la Contraseña, ingresar la contraseña del router<br>
 + 
 +En Windows, Puedes usar Inicio: Ejecutar: telnet <Direccion_IP_LAN_del_Router>
 + 
 +=SSH=
 +==Descripción==
 +SSH, o Secure Shell, es un protocolo encriptado y programa asociado con la intención de reemplazar a Telnet. También puede ser usado para la creación de túneles seguros, de alguna forma similar a las Redes Privadas Virtuales (VPN). A menos que sea cambiado, todo ssh operará en el puerto 22.
 + 
 +SSH opera al igual que Telnet con una combinación de usuario/contraseña o con una infraestructura de llave Pública/Privada. Para posterior trabajo, una pequeña llave publica es entregada al servidor y el servidor entrega su llave pública al cliente. Tu cliente encripta la información para el servidor usando la llave pública de este y el servidor hace lo mismo usando la clave de tu cliente. Las llaves privadas nunca son intercambiadas, y son usadas para desencriptar la informacion encriptada con la llave pública asociada.
 + 
 +El firmware DD-WRT puede usar usuario/contraseña o solo permitir conexiones de clientes cuyas llaves publicas son ingresadas manualmente via la interfaz web. Multiples llaves pueden ser ingresadas separandolas por una linea en blanco entre ellas.<br/>
 +Si quieres usar usuario/contraseña para ingresar via SSH ingresa el usuario "root" con la contraseña que configuraste en la interfaz web
 + 
 +De hecho puedes configurar manualmente (via telnet o ssh) la variable sshd_authorized_keys de nvram.
 +ej
 +nvram set sshd_authorized_keys=key1 key2 key3 etc
 + 
 +También puedes editar manualmente /tmp/root/.ssh/authorized_keys y agregar las llaves (aunque estas desaparecerán cuando reinicies el router a menos que tengas un script de inicio alterando el archivo).
 + 
 +Vale la pena señalar que las llaves ssh son cadenas de texto bastante largas, asi que si piensas copiar y pegarlas debes tener cuidado que no se te pase ningun salto de linea (ej es una sola linea larga).
 +o sino no funcionará.
 + 
 +==Configurando==
 +<b>Método de Llave Pública</b><br/>
 +Primero debes generar un par de llaves Pública/Privada en tu maquina de escritorio. Esto puede ser hecho via "Puttygen" en windows si es que usar clientes como Putty o WinSCP, o ssh-keygen en Linux. Copia la '''llave pública''' al portapapeles y guardar la llave privada en algun lado de tu computador. No hay necesidad de guardar la llave pública. Si la olvidas, puedes instruir a Puttygen que abra tu llave privada en vez de generar un nuevo par de llaves, y te dirá cual es tu llave pública. Es recomendado que no asegures tu par de llaves con contraseña, ya que de hacerlo te pedirá esta contraseña cada vez que intentes conectarte, perdiendo el sentido de facilitar la conexion, pero ganando en seguridad.
 + 
 +Desde la [Interface Web]
 +-Has Click en la pestaña '''Administration'''<br>
 +-Marca '''Enabled''' en la sección '''SSHD''' para habilitar el demonio SSH<br>
 +-Has click en el boton '''Save Settings'''<br>
 +-Click en el boton '''Continue'''<br>
 +-Pega tu '''llave pública''' en '''authorized key''' de la sección '''SSHD''' que ha aparecido. Necesitaras generar las llaves en tu computador de escritorio si no lo has hecho ya.<br>
 +<br/>
 +<b>Método de ingreso por Contraseña</b><br/>
 +Si no quieres molestarte en generar las llaves ssh, querrás usar el metodo de ingreso via contraseña.
 + 
 +Desde la [Interface Web]
 +-Click en la pestaña '''Administration'''<br>
 +-Marca '''Enable''' en la sección '''SSHD''' para habilitar el demonio SSH<br>
 +-Has click en el boton '''Save Settings'''<br>
 +-Click en el boton '''Continue'''<br>
 +-Marca '''Enable''' en '''Password Login''' para habilitar el ingreso via contraseña<br>
 + 
 +Despues de esto podras entrar como usuario "root" con la contraseña configurada en la interfaz web
 + 
 +==Cliente SSH==
 +Provee un alternativa segura a Telnet.<br>
 +Un buen cliente para Windows es [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty]<br>
 +Configura el cliente para usar la llave privada que guardaste con anterioridad.<br>
 +La mayoría de las distribuciones de Linux ya vienen con cliente Telnet y SSH.<br>
 + 
 +==SCP==
 +''Secure Copy (SCP) permite copiar archivos desde o hacia el router, desde un computador remoto.''<br>
 +Un buen cliente para Windows es [http://winscp.net/ WinSCP]<br>
 +Configura el cliente para usar la llave privada que guardaste con anterioridad, o utiliza el usuario "root" y contraseña configurada via interfaz web<br>
 +Recuerda: solo las particiones /tmp y /jffs pueden ser escritas!<br>
 + 
 +==Drop Bear==
 +DropBear es un cliente/servidor SSH que se instala por defecto en los WRT54G. DropBear permite conectarse desde el WRT54G a un servidor SSH para usar scp, etc. No creo que el demonio SSHD deba estar habilitado via la [[Interface Web]] para poder usar el cliente DropBear.
 + 
 +Si tienes un servidor SSH en tu maquina de escritorio (como [http://www.openssh.com OpenSSH]) puedes enviar archivos desde tu maquina de escritorio usando el [[comando scp]]. Esto puede ser utilizado para copiar archivos desde tu maquina de escritorio en un [[Scripts de Inicio|Script de Inicio]]
 + 
 +=La Linea de Comandos de DD-WRT=
 +''Conocida tambien como la shell Linux de DD-WRT''
 + 
 +Esta es una shell 'ash'. Ash es una version de sh, literalmente 'A SHell' (una shell)
 +(Un interprete de comandos)
 + 
 +==Sintaxis Basica==
 +La Linea de Comandos de Linux (Ash) no es lo mismo que la linea de comandos de Windows/DOS.
 + 
 +/ (y no \) es usado para separar los directorios en rutas, tal como en internet.
 + 
 +Para ejecutar un comando, la ruta del comando debe ser provista. Esto puede ser la ruta completa o una ruta relativa.
 + 
 +===Operadores de Ruta Relativa===
 +Hay dos operadores de ruta relativa.
 + . La ruta actual
 + .. Un directorio atras de la ruta actual
 + 
 +====Ejemplos====
 +'''1)''' si te encuentras en el directorio '''/jffs/usr/bin''' y quieres ejecutar el comando '''/jffs/usr/bin/noip''' usa:
 + /jffs/usr/bin # /jffs/usr/bin/noip
 +o
 + /jffs/usr/bin # ./noip
 + 
 + 
 +'''2)''' si te encuentras en el directorio '''/jffs/usr/bin''' y quieres ejecutar el comando '''/jffs/usr/kismet''' usa:
 + /jffs/usr/bin # /jffs/usr/kismet
 +o
 + /jffs/usr/bin # ../kismet
 +or
 + /jffs/usr/bin # cd ..
 + /jffs/usr # ./kismet
 + 
 + 
 +'''3)''' Las rutas relativas pueden ser usadas tambien como argumentos. Si instalaste el paquete [[No-IP.com Client|noip]] , notarás que el comando es instalado en '''/jffs/usr/bin/noip''' pero la configuracion se encuentra en '''/jffs/etc/no-ip.conf''' Cuando ejecutas noip, es por esto que se debe dar la ruta al archivo de configuración mediante el argumento -c. Esto puede ser efectuado de la siguiente forma:
 + /jffs/usr/bin # ./noip -c /jffs/etc/no-ip.conf
 +o
 + /jffs/usr/bin # ./noip -c ../../etc/noip.conf
 +Nota que el primer ''../'' nos lleva a /jffs/usr/. El segundo ''../'' nos dirigue a /jffs/, y entonces el resto de la ruta puede ser agregado.
 + 
 + 
 +'''4)''' Mientras los otros ejemplos mostraban como ahorrar tipéo, puedes también puedes jugar con las rutar relativas. Para ejecutar el comando noip en el ejemplo 1, también puedes usar
 + /jffs/usr/bin # ../../../jffs/./usr/./bin/././../bin/././noip
 +Aqui nos dirigimos hasta la raiz del sistema de archivos '''/''', despues subimos nuevamente hasta '''/jffs/usr/bin''', nos devolvemos hasta '''/jffs/usr''' y subimos nuevamente hasta '''/jffs/usr/bin'''.<br> Referencias a '''/./''' son puestas solo para mezclar las cosas. Mira como '''/./''' siempre hace referencia al entonces actual directorio, no a la ruta de la shell cuando el comando fue ejecutado.
 + 
 +===Redirecciones y Tuberias===
 +La salida de un comando puede ser Entubado ''piped'' a travez de otros comandos o redirigido a dispositivos o archivos.
 + 
 +< y > son operadores de redirección.
 +&nbsp;&nbsp;< Toma el contenido de un dispositivo o archivo y lo enruta como entrada para un comando dado.
 +&nbsp;&nbsp;> Toma la salida de un comando y lo redirige como entrada para un dispositivo o archivo.
 +Ej: Si no quieres ver la salida de un comando, lo rediriges al dispositivo null:
 + ''comando'' > /dev/null
 + 
 +| es el operador de tuberia, y entuba la salida a travez de otro comando (para formatear la salida, etc)
 +Ej: el comando mas usado para entubar es para limitar la salida del comando:
 + ''comando'' | more
 +Esto de es extrama utilidad para comandos como ''nvram show'' que lista algo asi como 800-1200 lineas. ''nvram show | more'' mostrara el resultado una pagina a la vez.
 + 
 +===Procesos en Fondo (Background)===
 +Es posible ejecutar programas en fondo (devolviendonos inmediatamente a la linea de ocmandos) al terminar el comando con el caracter ''&''.
 +ej:
 + ''comando'' &
 + 
 +==Comandos Básicos==
 +<pre>
 +<comando> -h El argumento -h casi siempre provee ayuda sobre el comando. Usalo!
 +ls Lista el contenido del directorio actual
 +cd <direcorio o ruta completa/relativa> Cambia a el directorio o ruta
 +cp <origen> <destino> Copia el archivo de origen al archivo de destino
 +mv <origen> <destino> Mueve el archivo de origen al destino
 +mkdir <nombre del directorio> Crea un nuevo directorio
 +wget <URI> Baja el archivo de la URI (dirección de internet) a la ruta actual
 +tar -xz -f <archivo> descomprime y desempaqueta el archivo *.tgz o *.tar.gz dado
 +rm <archivo> Elimina el archivo
 +rm -r <directorio> Elimina el directorio y todo su contenido
 +killall <programa> Mata todos los procesos del programa
 +ps Muestra los procesos en ejecución
 +top Muestra los procesos en ejecución en una interfaz mas gráfica
 +</pre>
 + 
 +==Comandos Más Avanzados==
 +''Estos comandos tienen sus propios Wikis!''
 + 
 +El [[comando brctl]]<br>
 +El [[comando cut]]<br>
 +El [[comando expr]]<br>
 +El [[comando dnsmasq]]<br>
 +El [[comando ip]]<br>
 +El [[comando ifup]]<br>
 +El [[comando ifconfig]]<br>
 +El [[comando iptables]]<br>
 +El [[comando scp]]<br>
 +El [[comando tc]]<br>
 +El [[comando udhcpd]]<br>
 +El [[comando wl]]<br>
 + 
 +==Scripting==
 +Para un buen Como sobre scripting, visita [http://www.freeos.com/guides/lsst/ Tutorial de Shell Scripting para Linux - Una guía para Principiantes (Inglés)]
 + 
 +Para cargar en el inicio tus scripts, Mira: [[Scripts de Inicio]].<br>
 + 
 +===Ejemplos Útiles de Scripting===
 +Página Principal: [[Ejemplos de Script]]
 + 
 +Si tienes un tunel/subred ipv6 usa el [[IPv6 startup script]] para configurarlo
 + 
 +=Recursos Externos=
 +[http://es.wikipedia.org/wiki/SSH Artículo sobre SSh de Wikipedia]<br>
 +[http://www.freeos.com/guides/lsst/ Tutorial de Shell Scripting para Linux - Una guía para Principiantes (Inglés)]
 + 
 +[[Category:Documentación por español]]

Revision as of 12:32, 1 July 2007

Contents

Telnet

Telnet es una manera facil de acceder a la Linea de Comandos (Shell) de tu WRT54G y acceder a configuración no disponible via la interfaz web. Ya que las contraseñas de Telnet no estan encriptadas, es vulnerable a ataques de sniffing. Secure Shell es un reemplazo para Telnet que usa encripción dura, y es recomendado su uso sobre Telnet en cualquier red pública. (Ver Sección SSH abajo.) Telnet opera en el puerto 23 y usa un protocolo ASCII.

Configurando

Desde la Interface Web
-Click en el tab Administration >> Services
-Dejar Enabled en la sección Telnet
-Guardar Cambios

Uso

-Abrir tu cliente Telnet favorito
-connect to <Direccion_IP_LAN_del_Router>
-Cuando pregunte por nombre de usuario (username), ingresar root
--Debe ser root y no el nombre de usuario al que cambiaste de haberlo hecho -Cuando pregunte por la Contraseña, ingresar la contraseña del router

En Windows, Puedes usar Inicio: Ejecutar: telnet <Direccion_IP_LAN_del_Router>

SSH

Descripción

SSH, o Secure Shell, es un protocolo encriptado y programa asociado con la intención de reemplazar a Telnet. También puede ser usado para la creación de túneles seguros, de alguna forma similar a las Redes Privadas Virtuales (VPN). A menos que sea cambiado, todo ssh operará en el puerto 22.

SSH opera al igual que Telnet con una combinación de usuario/contraseña o con una infraestructura de llave Pública/Privada. Para posterior trabajo, una pequeña llave publica es entregada al servidor y el servidor entrega su llave pública al cliente. Tu cliente encripta la información para el servidor usando la llave pública de este y el servidor hace lo mismo usando la clave de tu cliente. Las llaves privadas nunca son intercambiadas, y son usadas para desencriptar la informacion encriptada con la llave pública asociada.

El firmware DD-WRT puede usar usuario/contraseña o solo permitir conexiones de clientes cuyas llaves publicas son ingresadas manualmente via la interfaz web. Multiples llaves pueden ser ingresadas separandolas por una linea en blanco entre ellas.
Si quieres usar usuario/contraseña para ingresar via SSH ingresa el usuario "root" con la contraseña que configuraste en la interfaz web

De hecho puedes configurar manualmente (via telnet o ssh) la variable sshd_authorized_keys de nvram. ej nvram set sshd_authorized_keys=key1 key2 key3 etc

También puedes editar manualmente /tmp/root/.ssh/authorized_keys y agregar las llaves (aunque estas desaparecerán cuando reinicies el router a menos que tengas un script de inicio alterando el archivo).

Vale la pena señalar que las llaves ssh son cadenas de texto bastante largas, asi que si piensas copiar y pegarlas debes tener cuidado que no se te pase ningun salto de linea (ej es una sola linea larga). o sino no funcionará.

Configurando

Método de Llave Pública
Primero debes generar un par de llaves Pública/Privada en tu maquina de escritorio. Esto puede ser hecho via "Puttygen" en windows si es que usar clientes como Putty o WinSCP, o ssh-keygen en Linux. Copia la llave pública al portapapeles y guardar la llave privada en algun lado de tu computador. No hay necesidad de guardar la llave pública. Si la olvidas, puedes instruir a Puttygen que abra tu llave privada en vez de generar un nuevo par de llaves, y te dirá cual es tu llave pública. Es recomendado que no asegures tu par de llaves con contraseña, ya que de hacerlo te pedirá esta contraseña cada vez que intentes conectarte, perdiendo el sentido de facilitar la conexion, pero ganando en seguridad.

Desde la [Interface Web] -Has Click en la pestaña Administration
-Marca Enabled en la sección SSHD para habilitar el demonio SSH
-Has click en el boton Save Settings
-Click en el boton Continue
-Pega tu llave pública en authorized key de la sección SSHD que ha aparecido. Necesitaras generar las llaves en tu computador de escritorio si no lo has hecho ya.

Método de ingreso por Contraseña
Si no quieres molestarte en generar las llaves ssh, querrás usar el metodo de ingreso via contraseña.

Desde la [Interface Web] -Click en la pestaña Administration
-Marca Enable en la sección SSHD para habilitar el demonio SSH
-Has click en el boton Save Settings
-Click en el boton Continue
-Marca Enable en Password Login para habilitar el ingreso via contraseña

Despues de esto podras entrar como usuario "root" con la contraseña configurada en la interfaz web

Cliente SSH

Provee un alternativa segura a Telnet.
Un buen cliente para Windows es Putty
Configura el cliente para usar la llave privada que guardaste con anterioridad.
La mayoría de las distribuciones de Linux ya vienen con cliente Telnet y SSH.

SCP

Secure Copy (SCP) permite copiar archivos desde o hacia el router, desde un computador remoto.
Un buen cliente para Windows es WinSCP
Configura el cliente para usar la llave privada que guardaste con anterioridad, o utiliza el usuario "root" y contraseña configurada via interfaz web
Recuerda: solo las particiones /tmp y /jffs pueden ser escritas!

Drop Bear

DropBear es un cliente/servidor SSH que se instala por defecto en los WRT54G. DropBear permite conectarse desde el WRT54G a un servidor SSH para usar scp, etc. No creo que el demonio SSHD deba estar habilitado via la Interface Web para poder usar el cliente DropBear.

Si tienes un servidor SSH en tu maquina de escritorio (como OpenSSH) puedes enviar archivos desde tu maquina de escritorio usando el comando scp. Esto puede ser utilizado para copiar archivos desde tu maquina de escritorio en un Script de Inicio

La Linea de Comandos de DD-WRT

Conocida tambien como la shell Linux de DD-WRT

Esta es una shell 'ash'. Ash es una version de sh, literalmente 'A SHell' (una shell) (Un interprete de comandos)

Sintaxis Basica

La Linea de Comandos de Linux (Ash) no es lo mismo que la linea de comandos de Windows/DOS.

/ (y no \) es usado para separar los directorios en rutas, tal como en internet.

Para ejecutar un comando, la ruta del comando debe ser provista. Esto puede ser la ruta completa o una ruta relativa.

Operadores de Ruta Relativa

Hay dos operadores de ruta relativa.

.        La ruta actual
..       Un directorio atras de la ruta actual

Ejemplos

1) si te encuentras en el directorio /jffs/usr/bin y quieres ejecutar el comando /jffs/usr/bin/noip usa:

/jffs/usr/bin # /jffs/usr/bin/noip

o

/jffs/usr/bin # ./noip


2) si te encuentras en el directorio /jffs/usr/bin y quieres ejecutar el comando /jffs/usr/kismet usa:

/jffs/usr/bin # /jffs/usr/kismet

o

/jffs/usr/bin # ../kismet

or

/jffs/usr/bin # cd ..
/jffs/usr # ./kismet


3) Las rutas relativas pueden ser usadas tambien como argumentos. Si instalaste el paquete noip , notarás que el comando es instalado en /jffs/usr/bin/noip pero la configuracion se encuentra en /jffs/etc/no-ip.conf Cuando ejecutas noip, es por esto que se debe dar la ruta al archivo de configuración mediante el argumento -c. Esto puede ser efectuado de la siguiente forma:

/jffs/usr/bin # ./noip -c /jffs/etc/no-ip.conf

o

/jffs/usr/bin # ./noip -c ../../etc/noip.conf

Nota que el primer ../ nos lleva a /jffs/usr/. El segundo ../ nos dirigue a /jffs/, y entonces el resto de la ruta puede ser agregado.


4) Mientras los otros ejemplos mostraban como ahorrar tipéo, puedes también puedes jugar con las rutar relativas. Para ejecutar el comando noip en el ejemplo 1, también puedes usar

/jffs/usr/bin # ../../../jffs/./usr/./bin/././../bin/././noip

Aqui nos dirigimos hasta la raiz del sistema de archivos /, despues subimos nuevamente hasta /jffs/usr/bin, nos devolvemos hasta /jffs/usr y subimos nuevamente hasta /jffs/usr/bin.
Referencias a /./ son puestas solo para mezclar las cosas. Mira como /./ siempre hace referencia al entonces actual directorio, no a la ruta de la shell cuando el comando fue ejecutado.

Redirecciones y Tuberias

La salida de un comando puede ser Entubado piped a travez de otros comandos o redirigido a dispositivos o archivos.

< y > son operadores de redirección.   < Toma el contenido de un dispositivo o archivo y lo enruta como entrada para un comando dado.   > Toma la salida de un comando y lo redirige como entrada para un dispositivo o archivo. Ej: Si no quieres ver la salida de un comando, lo rediriges al dispositivo null:

comando > /dev/null

| es el operador de tuberia, y entuba la salida a travez de otro comando (para formatear la salida, etc) Ej: el comando mas usado para entubar es para limitar la salida del comando:

comando | more

Esto de es extrama utilidad para comandos como nvram show que lista algo asi como 800-1200 lineas. nvram show | more mostrara el resultado una pagina a la vez.

Procesos en Fondo (Background)

Es posible ejecutar programas en fondo (devolviendonos inmediatamente a la linea de ocmandos) al terminar el comando con el caracter &. ej:

comando &

Comandos Básicos

<comando> -h                             El argumento -h casi siempre provee ayuda sobre el comando. Usalo!
ls                                       Lista el contenido del directorio actual
cd <direcorio o ruta completa/relativa>  Cambia a el directorio o ruta
cp <origen> <destino>                    Copia el archivo de origen al archivo de destino
mv <origen> <destino>                    Mueve el archivo de origen al destino
mkdir <nombre del directorio>            Crea un nuevo directorio
wget <URI>                               Baja el archivo de la URI (dirección de internet) a la ruta actual
tar -xz -f <archivo>                     descomprime y desempaqueta el archivo *.tgz o *.tar.gz dado
rm <archivo>                             Elimina el archivo
rm -r <directorio>                       Elimina el directorio y todo su contenido
killall <programa>                       Mata todos los procesos del programa
ps                                       Muestra los procesos en ejecución
top                                      Muestra los procesos en ejecución en una interfaz mas gráfica

Comandos Más Avanzados

Estos comandos tienen sus propios Wikis!

El comando brctl
El comando cut
El comando expr
El comando dnsmasq
El comando ip
El comando ifup
El comando ifconfig
El comando iptables
El comando scp
El comando tc
El comando udhcpd
El comando wl

Scripting

Para un buen Como sobre scripting, visita Tutorial de Shell Scripting para Linux - Una guía para Principiantes (Inglés)

Para cargar en el inicio tus scripts, Mira: Scripts de Inicio.

Ejemplos Útiles de Scripting

Página Principal: Ejemplos de Script

Si tienes un tunel/subred ipv6 usa el IPv6 startup script para configurarlo

Recursos Externos

Artículo sobre SSh de Wikipedia
Tutorial de Shell Scripting para Linux - Una guía para Principiantes (Inglés)