<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rodolfo Pilas &#187; bash</title>
	<atom:link href="http://www.pilas.net/tag/bash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pilas.net</link>
	<description>Rio Pilas</description>
	<lastBuildDate>Wed, 08 Feb 2012 22:42:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Automatizando SSH</title>
		<link>http://www.pilas.net/20100202/automatizando-ssh/</link>
		<comments>http://www.pilas.net/20100202/automatizando-ssh/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 14:37:07 +0000</pubDate>
		<dc:creator>rodolfo</dc:creator>
				<category><![CDATA[Scripts]]></category>
		<category><![CDATA[administración]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.pilas.net/?p=727</guid>
		<description><![CDATA[Algnas veces me ha tocado escriir líneas de ssh bastante complejas, como por ejemplo: ssh -1 -p 23 -l root -i /etc/ssh/key01 -o CheckHostIP=no 192.134.27.24 que realmente terminan siendo un incordio, cuando esa conexión debe ser vuelta a realizar para repetir tareas de administración remota. Entonces, este artículo es un resúmen de algunos trucos de [...]]]></description>
			<content:encoded><![CDATA[<p>Algnas veces me ha tocado escriir líneas de ssh bastante complejas, como por ejemplo:</p>
<p><code>ssh -1 -p 23 -l root -i /etc/ssh/key01 -o CheckHostIP=no 192.134.27.24</code></p>
<p>que realmente terminan siendo un incordio, cuando esa conexión debe ser vuelta a realizar para repetir tareas de administración remota. Entonces, este artículo es un resúmen de algunos trucos de automatización que he logrado aprender hasta ahora, para hacer mi ssh más fácil y mi vida también.</p>
<h2>1. el nombre</h2>
<p>Escribir la IP 192.134.27.24 cada vez que me conecto es antidiluviano y no escala a IPv6. Así que lo ideal es disponer de un DNS bien configurado al cuál recurrir.  </p>
<p>Lamentablemente en redes internas he visto que asignan nombres a las máquinas que resultan más difíciles que la dirección IPv4 misma, por ejemplo: <code>sssd2p1r3db.sss.com</code>, que significa <code>sss</code> es el nombre de la empresa, datacenter 2, piso 1, rack 3, <code>db</code> pues es el server de base de datos.  Fantástico!  Cómo no recordarlo?  Claro, despues uno ve que terminan usando la IP.</p>
<p>Así que llamemos a nuestro servidor 192.134.27.24 <code>sssd2p1r3db</code> como <strong>&#8220;tito&#8221;</strong> (o cualquier otro nombre que me resulte fácil de recordar)</p>
<p>Para que funcione el ssh a tito debo llegar a la IP.  Y esta tarea de <em>personalización</em> de los nombres en la red la hace el archivo <code>/etc/hosts</code>.  Edito el archivo y agrego:</p>
<blockquote><p>
# Servidor sssd2p3r3db<br />
192.134.27.24  tito
</p></blockquote>
<p>A partir de ahora, todo lo que yo haga a nivel de red con el nombre &#8220;tito&#8221; va a funcionar desde <code>ssh tito</code>, <code>ping tito</code>, hasta <code>http://tito</code> en el Firefox.</p>
<h2>2. las opciones ssh</h2>
<p>Las opciones del ssh que son necesarias para esta conexión de ejemplo son: <code>-1 -p 23 -l root -i /etc/ssh/key01 -o CheckHostIP=no</code>, que no es necesario explicar su significado, pues todas estas opciones están a un man de distancia.</p>
<p>El archivo que permite automatizar todo esto para todos los usuarios es <code>/etc/ssh/ssh_config</code> y para un usuario en específico es el archivo <code>$HOME/.ssh/config</code>.  Edito el archivo y creo una entrada Host acorde a mis necesidades:</p>
<blockquote><p>
Host tito<br />
   Protocol 1<br />
   Port 23<br />
   User root<br />
   IdentityFile /etc/ssh/key01<br />
   CheckHostIP no
</p></blockquote>
<p>Y ya está!</p>
<p>Ahora puedo escribir <code>ssh tito</code> y mi conexión va a ser realizada exactamente como si escribiera toda la linea del principio. </p>
<p>Solo una aclaración:  la sentencia Host funciona por string, es decir que si escribo <code>ssh 192.134.27.24</code> no va a producir el mismo efecto de levantar los datos del ssh_config, aunque me esté conectando al mismo servidor. </p>
<h2>3. Bash completion</h2>
<p>Y por último, hacer que mi Bash permita usar tabulador para los nombres caprichozos y fáciles que he colocado a mis servidores&#8230; porque?, a ver: nadie pretende que me acuerde que el server se llama &#8220;tito&#8221;, es mucho más acordarme que empieza con &#8220;t&#8221; y sigue con &#8220;algo&#8221; <img src='http://www.pilas.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Edito <code>~/.bashrc</code> y agrego:</p>
<blockquote><p>
_completossh ()<br />
{<br />
  actual=${COMP_WORDS[COMP_CWORD]};<br />
  COMPREPLY=($(compgen -W &#8216;$(cat /etc/ssh/config | grep &#8220;^Host\b&#8221; &#8211; | sed -e &#8220;s/Host //&#8221;)&#8217; &#8212; $actual))<br />
}<br />
complete -F _completossh ssh
</p></blockquote>
<p>Y ahora puedo escribir <code>ssh t</code> + tabulador, y me completará &#8220;tito&#8221;. Y si tengo más de un servidor que comience con &#8220;t&#8221; pues dar dos veces tabulador y me muestra la lista.</p>
<h2>4. Algunos documentos para leer del tema</h2>
<ul>
<li><a href="http://www.faqs.org/docs/securing/chap15sec121.html">Securing and Optimizing Linux: RedHat Edition -A Hands on Guide, cap. 13</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.pilas.net/20100202/automatizando-ssh/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Actividad Terminal</title>
		<link>http://www.pilas.net/20080609/actividad-terminal/</link>
		<comments>http://www.pilas.net/20080609/actividad-terminal/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 00:33:32 +0000</pubDate>
		<dc:creator>rodolfo</dc:creator>
				<category><![CDATA[Talleres, tutorias]]></category>
		<category><![CDATA[XO-Ceibal]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[ceibal]]></category>
		<category><![CDATA[olpc]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[tutoria]]></category>
		<category><![CDATA[xo]]></category>

		<guid isPermaLink="false">http://www.pilas.net/?p=453</guid>
		<description><![CDATA[La actividad Terminal es un software que viene incluído en la XO por defecto. No obstante, una vez que se inicia, no dispone de ayuda ni se puede entender su funcionamiento, salvo que se se sepa su uso específico. Objetivos: Conocer algunas funciones básicas sobre la actividad Terminal de poder sacar provecho de la misma. [...]]]></description>
			<content:encoded><![CDATA[<p><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=terminal1-1213053075654493-9"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=terminal1-1213053075654493-9" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<p><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=terminal-2v2-090314205524-phpapp01&#038;stripped_title=terminal-ii-v2" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=terminal-2v2-090314205524-phpapp01&#038;stripped_title=terminal-ii-v2" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<p>La actividad Terminal es un software que viene incluído en la XO por defecto. No obstante, una vez que se inicia, no dispone de ayuda ni se puede entender su funcionamiento, salvo que se se sepa su uso específico.</p>
<p><strong>Objetivos:</strong> Conocer algunas funciones básicas sobre la actividad Terminal de poder sacar provecho de la misma. El objetivo específico es que los usuarios de XO puedan entrar a la actividad Terminal a realizar tareas básicas con comodidad. Que conozcan el potencial y flexibilidad de esta actividad como una forma de interfaz con el computador. </p>
<p><strong>Público Objetivo:</strong> Personas sin conocimientos sobre la actividad Terminal. </p>
<p><strong>Requisitos:</strong> Disponer de una XO para las prácticas ya que se trata de una tutoría práctica.</p>
<p><strong>Estructura:</strong> Dos partes de 1:30hs a 2hs cada una.</p>
<p>Tutorial dictado en:</p>
<ul>
<li>06.jun.2008 &#8211; <a href="http://www.xo.org.uy/doku.php/cursos:colonia2008:taller-terminal">II Jornadas de Educación y TICs &#8211; La XO una herramienta para apropiarse de la Tecnología</a> &#8211; Colonia del Sacramento, Uruguay</li>
</ul>
<p><strong>Versiones anteriores:</strong><br />
<object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=terminal2-1213052952381440-8"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=terminal2-1213052952381440-8" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilas.net/20080609/actividad-terminal/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

