<?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>Jon Segador &#187; ssh</title>
	<atom:link href="http://jonsegador.com/tag/ssh/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonsegador.com</link>
	<description>Desarrollador web y android, con todo lo que ello implica</description>
	<lastBuildDate>Wed, 16 May 2012 08:34:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Instalar NetBeans con soporte svn+ssh y theme de colores oscuros</title>
		<link>http://jonsegador.com/2010/10/instalar-netbeans-con-soporte-svnssh-y-theme-de-colores-oscuros/</link>
		<comments>http://jonsegador.com/2010/10/instalar-netbeans-con-soporte-svnssh-y-theme-de-colores-oscuros/#comments</comments>
		<pubDate>Sat, 09 Oct 2010 11:19:55 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[aptana]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[rsa]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ssh-keygen]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://jonsegador.com/?p=260</guid>
		<description><![CDATA[De entre todos los IDEs que existen, mis favoritos para programar en php son Aptana y NetBeans. Hasta ahora siempre he usado Aptana, su edición directa por FTP y su sistema de sincronización lo hacía casi indispensable. Pero NetBeans tiene una ventaja bastante importante y determinante (al menos para mí): soporte para el framework Symfony [...]]]></description>
			<content:encoded><![CDATA[<p>De entre todos los IDEs que existen, mis favoritos para programar en php son <a href="http://www.aptana.com/">Aptana</a> y <a href="http://netbeans.org/">NetBeans</a>. Hasta ahora siempre he usado Aptana, su edición directa por FTP y su sistema de sincronización lo hacía casi indispensable. Pero NetBeans tiene una ventaja bastante importante y determinante (al menos para mí): soporte para el framework Symfony (y Zend).</p>
<p>Voy a explicar como instalar NetBeans en Ubuntu y empezar un proyecto utilizando svn+ssh.</p>
<p><strong>1) Descargar e instalar NetBeans.</strong><br />
Lo haremos desde su página web oficial: http://netbeans.org/ La última versión a la hora de escribir este post, es la 6.9.1.<br />
Descargaremos la versión PHP. Podemos elegir el idioma del IDE, aunque recomiendo descargarlo en inglés. No es lo mismo hacer un &#8220;checkout&#8221; o &#8220;commit&#8221;, que un &#8220;comprobar&#8221; o &#8220;subir cambios&#8221;. Personalmente, me lío <img src='http://jonsegador.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Una vez descargado el instalador, tenemos que darle permisos de ejecución. Pinchamos con el botón derecho / propiedades / permisos / permitir ejecutar el archivo como un programa. Cerramos y hacemos doble click en el archivo y seleccionamos Ejecutar. La instalación empezará en este momento.</p>
<p><strong>2) Soporte svn+ssh</strong><br />
NetBeans ya tiene instalado el plugin de svn. Lo que vamos a hacer es importar un proyecto que tengamos en nuestro servidor de svn, conectándonos mediante svn+ssh. Para ello necesitamos primero crear un par de claves RSA para que podamos conectarnos mediante ssh al servidor svn sin necesidad de tener que introducir la contraseña cada vez.</p>
<p>En local, utilizamos el comando ssh-keygen:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh-keygen</span> <span style="color: #660033;">-t</span> rsa</pre></div></div>

<p>Nos da la opción de introducir una frase para cifrar la clave privada. Cifrar la clave privada nos dará más seguridad en caso de intento de robo de esta clave, pero en este caso no lo vamos a hacer ya que el objetivo es no tener que escribir la contraseña cada vez que nos queramos conectar al servidor (si ciframos la clave privada, habrá que introducir la frase para descifrarla).</p>
<p>Este comano nos crea dos archivos: id_rsa (clave privada) e id_rsa.pub (clave pública). Tenemos que copiar la clave pública al servidor svn.</p>
<p>Podemos copiar el archivo id_rsa.pub mediante ftp o utilizando el comando scp:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">scp</span> id_rsa.pub usuario<span style="color: #000000; font-weight: bold;">@</span>dominio:<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>usuario</pre></div></div>

<p>Cuando tengamos la clave pública en el servidor, tenemos que añadirla al fichero authorized_keys que esta en el directorio .ssh de nuestra home. Si no existe el directorio, lo creamos:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$HOME</span><span style="color: #000000; font-weight: bold;">/</span>.ssh</pre></div></div>

<p>Dentro de este directorio, tenemos que incluir la clave pública en el fichero authorized_keys:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">cat id_rsa<span style="color: #339933;">.</span>pub <span style="color: #339933;">&gt;&gt;</span> authorized_keys</pre></div></div>

<p>Después de esto, ya no necesitaremos introducir nuestra contraseña cada vez que queramos conectarnos al servidor (desde nuestro ordenador local, claro).</p>
<p><strong>3) Importar proyecto svn</strong><br />
Ya estamos preparados para importar un proyecto svn a NetBeans utilizando svn+ssh.<br />
En Netbeans, vamos al menú Team>Subversion>Checkout. Se nos abrirá una ventana en la que tenemos que introducir la URL del repositorio (Repository URL) y el túnel SSH (Tunnel Command).<br />
En el primer campo escribimos la ruta a nuestro repositorio, por ejemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">svn</span>+<span style="color: #c20cb9; font-weight: bold;">ssh</span>:<span style="color: #000000; font-weight: bold;">//</span>midominio.com<span style="color: #000000; font-weight: bold;">/</span>miproyecto</pre></div></div>

<p>Y en Tunnel Command, introducimos:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #660033;">-q</span> <span style="color: #660033;">-l</span> USUARIO <span style="color: #660033;">-i</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>USUARIO<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_rsa</pre></div></div>

<p>Vemos como en el comando anterior hacemos uso del archivo de clave privada id_rsa, así no tendremos que escribir la contraseña cada vez.</p>
<p>La siguiente ventana esta dividida en dos partes. En la de arriba seleccionaremos la parte del repositorio que queremos importar (checkout). Por defecto nos descargaremos todo (podemos seleccionar la rama Trunk si la hubiera). En parte de abajo de la ventana, seleccionamos donde queremos descargar el proyecto en local.</p>
<p>En el siguiente paso nos preguntará si queremos crear un proyecto en local. Le decimos que sí. Creamos un PHP Application (la primera opción). Lo ideal es que el directorio del proyecto que estamos creando sea el mismo que el de sincronización con svn. Así, trabajamos y hacemos cambios en los archivos descargados de svn directamente, por lo que es más fácil después subir los cambios al servidor. Recomiendo separar los metadata del proyecto Netbeans a otra carpeta, para que no se añadan al proyecto y se suban la próxima vez al servidor svn (aunque se podría hacer un ignore).</p>
<p>Como vemos en la captura, el proyecto desde svn lo descargo en trunk, mientras que los metadata del proyecto (archivos de configuración de NetBeans) lo dejo en la carpeta MiProyecto:</p>
<p><a href="http://jonsegador.com/wp-content/uploads/netbeans.png"><img src="http://jonsegador.com/wp-content/uploads/netbeans-300x185.png" alt="netbeans" title="netbeans" width="300" height="185" class="aligncenter size-medium wp-image-262" /></a></p>
<p>Y ya lo tendremos! Podemos activar la barra de svn para hacernos el trabajo más sencillo (Window / Versioning / Subversion) a la hora de subir los cambios al servidor.</p>
<p><strong>4) Theme con colores oscuros</strong><br />
Si pasamos la mayor parte del día programando, es mejor para la vista tener colores oscuros de fondo. El color blanco (por defecto en la mayoría de IDEs) cansa mucho la vista y a la larga puede ser perjudicial para los ojos. Así que vamos a instalar un theme con colores oscuros.</p>
<p>El mejor que he encontrado es este: <a href="http://net.tutsplus.com/freebies/themes/netbeans-twilight-theme/">http://net.tutsplus.com/freebies/themes/netbeans-twilight-theme/</a> y lo podemos descargar desde <a href="http://d2o0t5hpnwv4c1.cloudfront.net/338_netbeansFreebie/Netbeans_Twilight_Theme.zip">aquí</a> o <a href="http://jonsegador.com/wp-content/uploads/Netbeans_Twilight_Theme.zip">aquí</a> (mirror en mi servidor).</p>
<p>Para importarlo en NetBeans, vamos a Tools / Options y pulsamos en el botón Import. Buscamos el archivo .zip (importante, no hay que descomprimirlo!), seleccionamos que queremos importar todas las opciones y pulsamos en aceptar. Después de reiniciar NetBeans, vamos a Tools / Options y en la pestaña Fonts and Colors seleccionamos el Profile Netbeans_Twilight. Ya tendremos nuestro entorno con colores oscuros.</p>
<p>Para mi gusto, el tamaño de letra de este theme es demasiado pequeño. Yo, en Fonts and Colors (una vez activado el theme) selecciono el tipo de fuente &#8220;Monospaced&#8221;, estilo &#8220;Plain&#8221; y tamaño &#8220;13&#8243;.</p>
<p>Con estos pasos tenemos nuestro entorno de desarrollo listo para empezar.</p>
]]></content:encoded>
			<wfw:commentRss>http://jonsegador.com/2010/10/instalar-netbeans-con-soporte-svnssh-y-theme-de-colores-oscuros/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cambiar puerto 22 del servidor ssh</title>
		<link>http://jonsegador.com/2010/06/cambiar-puerto-22-servidor-ssh/</link>
		<comments>http://jonsegador.com/2010/06/cambiar-puerto-22-servidor-ssh/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 17:50:13 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Servidores]]></category>
		<category><![CDATA[puerto]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://jonsegador.com/?p=239</guid>
		<description><![CDATA[Si queremos tener más seguridad en nuestro servidor, un truco fácil es el de cambiar el puerto del servidor ssh. Por defecto, la conexión se hace en el puerto 22, que es uno de los puertos más utilizados por scripts maliciosos para realizar ataques por fuerza bruta o denegación de servicio. Cambiar el puerto del [...]]]></description>
			<content:encoded><![CDATA[<p>Si queremos tener más seguridad en nuestro servidor, un truco fácil es el de cambiar el puerto del servidor ssh. Por defecto, la conexión se hace en el puerto 22, que es uno de los puertos más utilizados por scripts maliciosos para realizar ataques por fuerza bruta o denegación de servicio.</p>
<p>Cambiar el puerto del ssh es tan sencillo como hacer lo siguiente:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">nano <span style="color: #339933;">/</span>etc<span style="color: #339933;">/</span>ssh<span style="color: #339933;">/</span>sshd_config</pre></td></tr></table></div>

<p>Editamos la linea dice</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#Port 22</span></pre></td></tr></table></div>

<p>La descomentamos (quitamos la almoadilla) y cambiamos el 22 por el puerto que queramos. Nos tenemos que asegurar de que el puerto que elijamos no esté ya en uso (Aquí tenemos una <a href="http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers">lista de puertos</a>). Por ejemplo, si elegimos el puerto 27, la línea quedará:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">Port <span style="color: #cc66cc;">27</span></pre></td></tr></table></div>

<p>Ahora editamos el archivo /etc/services</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">nano <span style="color: #339933;">/</span>etc<span style="color: #339933;">/</span>services</pre></td></tr></table></div>

<p>buscamos las líneas:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">ssh         <span style="color: #cc66cc;">22</span><span style="color: #339933;">/</span>tcp
ssh         <span style="color: #cc66cc;">22</span><span style="color: #339933;">/</span>udp</pre></td></tr></table></div>

<p>y las cambiamos por el nuevo puerto que hemos seleccionado antes:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">ssh         <span style="color: #cc66cc;">27</span><span style="color: #339933;">/</span>tcp
ssh         <span style="color: #cc66cc;">27</span><span style="color: #339933;">/</span>udp</pre></td></tr></table></div>

<p>Ahora paramos e iniciamos el servidor ssh:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">/</span>etc<span style="color: #339933;">/</span>init<span style="color: #339933;">.</span>d<span style="color: #339933;">/</span>ssh stop</pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">/</span>etc<span style="color: #339933;">/</span>init<span style="color: #339933;">.</span>d<span style="color: #339933;">/</span>ssh start</pre></td></tr></table></div>

<p>Y ya lo tenemos. A partir de ahora, cuando queramos acceder a nuestro servidor mediante ssh, deberemos especificar el puerto por el que nos queremos conectar. Por ejemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">ssh usuario<span style="color: #339933;">@</span>192<span style="color: #339933;">.</span>168<span style="color: #339933;">.</span>1<span style="color: #339933;">.</span>100 <span style="color: #339933;">-</span>p27</pre></td></tr></table></div>

<p>Puede que te salte algún error relacionado con las public keys. Es normal, ya que anteriormente ha detectado movimiento en el puerto 22. Simplemente hay que borrar esos public keys:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"> rm ~<span style="color: #339933;">/.</span>ssh<span style="color: #339933;">/</span>known_hosts</pre></td></tr></table></div>

<p>A partir de ahora tendremos nuestro servidor ssh un poco más seguro.</p>
]]></content:encoded>
			<wfw:commentRss>http://jonsegador.com/2010/06/cambiar-puerto-22-servidor-ssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

