Wiki Texto-Plano 2021-01-24T00:19:22-03:00 wiki.texto-plano.xyz Cómo configurar la confianza de las claves GPG. 2021-01-23T23:37:00-03:00 wiki.texto-plano.xyz/2021/01/23/como-configurar-la-confianza-de-las-claves-gnu-pg <p>El criptosistema de cifrado GNU PG se basa en la confianza de las claves públicas de terceros.</p> <p>Este nivel de confianza puede interrelacionarse con otros usuarios en servidores de cifrado, en caso de ser necesario, pero podremos hacerla efectiva por nosotros mismos. Para ello es recomendable denunciar un “nivel de confianza” en las claves de terceros que tengamos guardadas en nuestro llavero público (“public keyring”).</p> <p>Para ello activamos el criptosistema con:</p> <p><strong>gpg2 –edit-key pepita@texto-plano.xyz</strong></p> <p>El criptosistema indicará:</p> <pre><code>gpg (GnuPG) 2.2.23; Copyright (C) 2020 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. pub rsa3072/ZZZZZZZZZZZZZZZZ creado: aaaa-mm-dd caduca: aaaa-mm-dd uso: SC confianza: desconocido validez: desconocido sub rsa3072/YYYYYYYYYYYYYYYY creado: aaaa-mm-dd caduca: aaaa-mm-dd uso: E [desconocida] (1). fulano &lt;pepita@texto-plano.xyz&gt; gpg&gt; </code></pre> <p>En el prompt gpg&gt; ingresamos el comando <strong>trust</strong>.</p> <p>Y ahora aparecerán los detalles de la llave y además el menú selector de confianza:</p> <pre><code>Por favor, decida su nivel de confianza en que este usuario verifique correctamente las claves de otros usuarios (mirando pasaportes, comprobando huellas dactilares en diferentes fuentes...) 1 = No lo sé o prefiero no decirlo 2 = NO tengo confianza 3 = Confío un poco 4 = Confío totalmente 5 = confío absolutamente m = volver al menú principal ¿Su decisión? </code></pre> <p>Debemos indicamos el número escogido. Por ejemplo, <strong>4</strong> podría indicar que hemos acordado con alguien que nos envíe la clave y esta persona lo ha hecho por medio electrónico. Mientras que 5 es que literalmente hemos visto a la persona requerida enviarnos la llave en nuestra presencia.</p> <p>Para salir del criptosistema, en el prompt gpg&gt; ingresamos la opción <strong>quit</strong>.</p> Cifrado de correo electronico con GPG y Mutt 2021-01-23T23:24:00-03:00 wiki.texto-plano.xyz/2021/01/23/cifrado-de-correo-electronico-con-gpg-y-mutt <p>Mutt es el editor de correo electrónico de texto-plano.xyz. Puede trabajar con encriptación PGP. El sistema PGP involucra un par de archivos de encriptación (llamados “llaves”). Uno es una llave privada, y la otra es una pública.</p> <h2 id="creación-de-clave-opcional">Creación de clave (opcional)</h2> <p>Si no tuviésemos ya un par de llaves pública y privada, la creamos con el comando:</p> <p><strong>gpg2 –gen-key</strong></p> <p>Normalmente el criptosistema GPG nos solicitará nuestra cuenta de correo electrónico, y también nos solicitará ingresar una contraseña para el criptosistema. Esta se utilizará para cifrar y descifrar correos. <strong>Es importante conservar esta contraseña de criptosistema en un lugar seguro</strong>.</p> <p>Una vez creada el par de llaves, crearemos una copia de nuestra llave pública a fin de poder distribuírsela a nuestros contactos.</p> <p><strong>gpg2 –armor –output usuario_tp_publica.asc –export usuario@texto-plano.xyz</strong></p> <p>Ahora podremos enviar esta copia de la llave pública usuario_tp_publica.asc por correo electrónico sin cifrar, subirla a un gopher o www. En fin, compartirla con quien queramos.</p> <p>Hecho esto, podremos configurar Mutt.</p> <h2 id="configuración-de-mutt-para-que-funcione-con-encriptación-pgp">Configuración de Mutt para que funcione con encriptación PGP</h2> <p>Consiste en agregar una configuración especial al fichero <em>~/.muttrc</em> de configuración.</p> <p>Para mayor facilidad podrán descargar mi propio fichero de configuración de mutt (comentado) con:</p> <p><strong>cd ~</strong></p> <p><strong>wget https://texto-plano.xyz/~peron/ftp_pub/muttrc</strong></p> <p><strong>mv muttrc ~/.muttrc</strong></p> <h2 id="enviar-un-mensaje-de-correo-encriptado-con-mutt">Enviar un mensaje de correo encriptado con Mutt</h2> <p>Entramos a Mutt y creamos un nuevo mensaje presionando <strong>m</strong>. Nos solicitará los destinatarios (podemos indicar varios separándolos con coma). También solicitará un Asunto.</p> <p>Una vez que ingresemos estos, nos presentará el editor <em>GNU Nano</em>. Escribimos el mensaje lo guardamos con <strong>Ctrl+o</strong> y salimos con <strong>Ctrl+x</strong>.</p> <p>Antes de enviar el correo sin cifrar (lo que normalmente se hace presionando <strong>tecla y</strong> en este momento) <strong>debemos cifrarlo</strong>. Presionamos la <strong>tecla p</strong> para activar las opciones de encriptación. Mutt nos preguntará si queremos cifrarlo, firmarlo o ambos. Para usar ambas opciones presionamos la <strong>tecla b</strong>.</p> <p>Si la llave carece de una validez definida significa que la misma <strong><a href="">no ha sido validada por terceros</a>, y sólo esta autofirmada</strong>. No es lo ideal, pero de momento, podremos aceptarla igual. Mutt mostrará este mensaje.</p> <p><em>ID has undefined validity. ¿Realmente quiere utilizar la llave? ([no]/sí):</em></p> <p>Es importante saber que de momento, por un error de traducción de Mutt, para usar la clave en lugar de presionar la tecla s como indica el programa, debemos presionar la <strong>tecla y</strong>(por “yes”).</p> <p>Ahora Mutt se interrumpirá y <strong>nos solicitará que ingresemos la contraseña del criptosistema GPG</strong>. Tendremos tres oportunidades para introducirla correctamente.</p> <p>Una vez encriptadio exitosamente, podremos enviarlo con la <strong>tecla y</strong>.</p> <p>Salimos del Mutt con la <strong>tecla q</strong>.</p> <hr /> <p>Aportado originalmente por ~peron en <a href="https://texto-plano.xyz/~peron/inst/mutt/mutt_gnupg.html">Encriptación GNUPG con Mutt </a></p> Uso de claves de cifrado con GPG 2021-01-23T23:03:00-03:00 wiki.texto-plano.xyz/2021/01/23/uso-de-claves-de-cifrado-con-gpg <p>La privacidad es un valor impostergable en un sistema de cómputo. Puedes aprender a cifrar mensajes de correo electrónico en el ambiente Texto-plano.</p> <p>Para ello debes utilizar el criptosistema <strong>GnuPG v2.</strong></p> <p>Este criptosistema ofrece un mecanismo de cifrado para mensajes de punto a punto. Cada punto (remitente y receptor) posee dos tipos de clave: una llamada <em>Clave Privada</em>, y otra que se combina con la anterior pero que debe compartirse con el resto de tus destinatarios de correo: la <em>Clave Pública</em>.</p> <p>En texto-plano, podrás utilizar el programa de correo electrónico <strong>Mutt</strong> para enviar y recibir correo electrónico convencional. Pero si adicionalmente utilizas el criptosistema, podrás asegurar el envío y recepción de correo cifrado y firmado digitalmente.</p> <p>Sigue este tutorial para poder usar el criptosistema.</p> <h2 id="crea-un-par-de-claves-pgp">Crea un par de claves PGP</h2> <p>En primer lugar genera el par de claves propias (privada y pública) necesarias. Ingresa el comando:</p> <p><strong>gpg2 –gen-key</strong></p> <p>Aparecerá en tu terminal el siguiente diálogo. Completa el nombre y la dirección del correo electrónico:</p> <pre><code>gpg (GnuPG) 2.2.23; Copyright (C) 2020 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. Nombre y apellidos: **Fulano Mengano** Dirección de correo electrónico: **fulano@texto-plano.xyz** Ha seleccionado este ID de usuario: "Fulano Mengano" ¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir?**V** </code></pre> <p>\</p> <p>Si esta es la primera vez que utilizas el criptosistema en el entorno texto-plano, se te solicitará que ingreses ahora una contraseña de criptosistema (y confirmarla) a fin de proteger tu llavero (“Key-Ring”). Este keyring es el programa que permite controlar todas tus acciones de encriptación, de modo que toma nota de la misma y consérvala a resguardo. En cambio, si ya hubieses utilizado el criptosistema previamente, se te solicitará ingresar la contraseña del llavero.</p> <p>Una vez concluido se te informará:</p> <pre><code>gpg: clave XXXXXXXX marcada como de confianza absoluta gpg: certificado de revocación guardado como '/home/fulano/.gnupg/openpgp-revocs.d/xxxxxxxxxx.rev' gpg: clave pública y secreta creadas y firmadas. pub rsa3072 aaaa-mm-dd Huella de clave = zzzz zzzz zzzz zzzzz zzzz zzzz zzzz zzzz zzzz zzzz uid Fulano Mengano [fulano@texto-plano.xyz] sub rsa3072/ZZZZZZZZ aaaa-mm-dd </code></pre> <p>\</p> <h2 id="comparte-tu-clave-pública-pgp-con-terceros">Comparte tu clave pública PGP con terceros</h2> <p>Quienes deseen descifrar tu correo encriptado deben contar con tu clave pública. Para poder darle a futuros remitentes tu clave pública debes exportarla. Por ejemplo, utilizarías el comando:</p> <p><strong>gpg2 –armor –output fulano_tp_publica.asc –export fulano@texto-plano.xyz</strong></p> <p>Este ejemplo creará un archivo llamado fulano_tp_publica.asc. Este archivo podrá ser hecho público de la manera que desees, ya sea enviándolo adjunto por correo electrónico, ingresarlo a tu “finger” de Texto-plano, subirlo a tu www o gopherhole.</p> <p>\</p> <h2 id="agrega-a-tu-criptosistema-la-clave-pública-pgp-de-un-tercero">Agrega a tu criptosistema la Clave pública PGP de un tercero</h2> <p>Para poder enviarle correo electrónico cifrado a un tercero, deberás incorporar a tu critosistema la clave pública de dicha persona. La misma tendrá la misma forma que tu propia clave pública: es un archivo .asc, o eventualmente .gpg.</p> <p>Suponiendo que te hacen llegar por correo electrónico no cifrado la clave pública de el destinatario pepita@texto-plano.xyz, que consiste en un archivo de clave pública llamado pepita_tp.asc. La incorporarás a tu criptosistema con el comando:</p> <p><strong>gpg2 –import pepita_tp.asc</strong></p> <p>Sólo si la clave está intacta, el sistema la incorporará. En tal caso nos devolverá algo como:</p> <pre><code>gpg: key YYYYYY: Clave pública importada. gpg: número total procesada: 1 gpg: importada: 1 </code></pre> <p>\</p> <h2 id="revisar-y-validar-las-llaves-almacenadas-en-el-criptosistema">Revisar y validar las llaves almacenadas en el criptosistema</h2> <p>Podrás revisar las claves contenidas en tu criptosistema con el comando:</p> <p><strong>gpg2 –list-keys</strong></p> <p>y este informará algo como:</p> <pre><code>/home/usuario/.gnupg/pubring.gpg ------------------------------ pub 3072R/YYYYYYY aaaa-mm-dd uid Fulano Mengano sub 3072R/ZZZZZZ aaaa-mm-dd pub 2048R/3DE3f869 aaaa-mm-dd uid Pepita TP sub 2048R/C3CFF358 aaaa-mm-dd </code></pre> <p>\</p> <hr /> <p>Aportado originalmente por ~peron en <a href="https://texto-plano.xyz/~peron/inst/pgp/gnupg.html">Uso de correo cifrado con GNUPG</a></p> Cómo utilizar el repositorio de git en Texto-Plano 2021-01-22T22:50:00-03:00 wiki.texto-plano.xyz/2021/01/22/como-utilizar-el-repositorio-de-git-en-texto-plano <p>Hemos implementado un repositorio de git que puedes utilizar libremente para cualquier script, aplicación o cualquier material que necesite versionado que quieras compartir con nosotros y otras personas en internet. Este artículo no va a explicar el uso básico de GIT pero habrá otro manual de uso básico o puedes revisar otros en Internet.</p> <p>(EDIT 21/12/2020: Partimos de la base de que tienes un repositorio local listo para subir al sistema. Si no tienes un repositorio local, créalo)</p> <h2 id="cómo-utilizar-el-repositorio-remoto">Cómo utilizar el repositorio remoto</h2> <p>Lo primero es que debes crear un enlace simbólico a la carpeta de /var/www/cgit_repos/<USUARIO> de la siguiente manera:</USUARIO></p> <pre><code>ln -s /var/www/cgit_repos/$USER ~/public_repos </code></pre> <p>Para crear tu propio repositorio tienes que entrar ahora a ~/public_repos y crear un directorio terminado en .git:</p> <pre><code>mkdir mi_programa.git </code></pre> <p>Luego entra a él e inicializa el repositorio:</p> <pre><code>cd mi_programa.git &amp;&amp; git init --bare </code></pre> <p>Dentro de mi_programa.git hay un archivo que se llama config. Agrega lo siguiente:</p> <pre><code>[gitweb] owner = usuario &lt;usuario@texto-plano.xyz&gt; </code></pre> <p>Luego agrega un archivo que se llame “description” (puede ser con echo o editándolo por vim/nano):</p> <pre><code>echo "mi fabulosa aplicación que sirve para X cosa" &gt; description </code></pre> <p>Eso por el lado del servidor. Para que tu repositorio local reconozca este repo deberás añadir un repositorio remoto a tu sistema. Dependerá de si trabajas tu aplicación desde tu ~ en texto-plano o si lo haces desde tu PC local:</p> <p>Si estás en tu ~ de texto-plano.xyz:</p> <pre><code>git remote add texto-plano.xyz /home/&lt;USUARIO&gt;/public_repos/&lt;REPO&gt; </code></pre> <p>Si estás en tu pc local:</p> <pre><code>git remote add texto-plano.xyz &lt;USUARIO&gt;@texto-plano.xyz:public_repos/&lt;REPO&gt; </code></pre> <p>(emplea SSH para conectarse)</p> <p>Cuando necesites actualizar un cambio:</p> <pre><code>git push -u texto-plano.xyz master </code></pre> <p>(o el nombre que le hayas puesto a la rama principal)</p> <p>Tu repositorio debería aparecer en <a href="https://git.texto-plano.xyz">https://git.texto-plano.xyz</a></p> <p>(Tomado desde la <a href="https://wiki.tilde.institute">wiki de tilde.institute</a> cuyo sistema es análogo al nuestro)</p> Irssi como proxy 2021-01-22T22:46:00-03:00 wiki.texto-plano.xyz/2021/01/22/irssi-como-proxy <p>Irssi es uno de los clientes de IRC más apreciados, pero una alternativa que no todos conocen es que puedes utilizarlo en modo proxy si tienes acceso a una máquina conectada 24/7 y así mantener los registros de las conversaciones aunque no estés.</p> <p>Irssi tiene una herramienta poco y mal documentada llamada irssiproxy, pero su funcionamiento no es complicado. Primero vamos a suponer que tenemos unirssi configurado en el servidor y ya conectado a una red IRC con usuario. Esta configuración debe estar guardada para que irssi se conecte automáticamente a tu usuario al iniciarlo.</p> <h2 id="en-el-servidor">En el servidor</h2> <p>Lo primero es asegurarnos de estar conectados en las redes en Irssi y digitar:</p> <pre><code>/load proxy </code></pre> <p>(Esto lo puedes agregar a tu ~/.irssi/startup para que se ejecute siempre)</p> <p>Este procedimiento activa el proxy, sin embargo así tal cual no va a servirnos de nada. Debemos agregar una contraseña:</p> <pre><code>/SET irssiproxy_password contraseña </code></pre> <p>Donde contraseña es lo que tú quieras.</p> <p>Ahora debemos decirle a Irssi que enrute cada red que queramos usar a través de un puerto específico. Por ejemplo, Freenode va por un puerto, tilde.chat va por otro:</p> <pre><code>/SET irssiproxy_ports Freenode=7001 tilde=7002 </code></pre> <p>Otra opción es que le digamos a irssi que escuche por un solo puerto pero nos dé la opción de elegir:</p> <pre><code>/SET irssiproxy_ports ?=7000 </code></pre> <p>Finalmente tenemos que especificar a irssiproxy por qué dominio tiene que escuchar con irssiproxy_bind. En teoría esto no debería ser necesario y, de hecho, no aparece en la documentación que hemos visto pero en algunos casos ha sido necesario agregarlo. Puedes anotar la IP o bien el dominio.</p> <p>/SET irssiproxy_bind 127.0.0.1 (sólo disponible desde el mismo servidor)</p> <p>/SET irssiproxy_bind servidor.dominio</p> <p>Con estos cambios deberíamos tener un proxy complemente funcional. Irssiproxy es en la práctica una forma de usar irssi de manera remota, así que incluso si tienes el proxy remoto abierto puedes ver las ventanas siendo creadas.</p> <p>Finalmente con:</p> <pre><code>/irssiproxy </code></pre> <p>Puedes verificar toda la configuración guardada del servidor (ideal para saber si lo que digitamos fue correcto).</p> <pre><code>/irssiproxy status </code></pre> <p>Nos informa cuántos clientes están conectados.</p> <h2 id="cliente-irssi">Cliente Irssi</h2> <p>En el cliente tenemos que saber conectarnos también. Desde el Irssi local vamos a tener que agregar nuestro proxy como si fuese una red de IRC nueva.</p> <pre><code>/NETWORK ADD proxy </code></pre> <p>(el nombre puede ser el que quieras, aquí lo vamos a llamar proxy)</p> <p>Vamos a asociarle un servidor:</p> <pre><code>/SERVER ADD -auto -network proxy servidor.dominio 7001 CONTRASEÑA </code></pre> <p>La configuración de arriba nos serviría para conectarnos a Freenode si seguimos el ejemplo del principio.</p> <p>¿Y qué pasa si usamos la configuración con un puerto único? Es más fácil porque utilizamos menos recursos y un puerto, pero es un poco diferente:</p> <pre><code>/SERVER ADD -auto -network proxy servidor.dominio 7000 RED:CONTRASEÑA </code></pre> <p>Luego guardamos todo con un</p> <pre><code>/SAVE ALL </code></pre> <p>También podemos conectarnos directamente con un</p> <pre><code>/connect proxy 7001 CONTRASEÑA </code></pre> <hr /> <p>La documentación oficial está en https://irssi.org/documentation/startup/</p> <p>Un pequeño tutorial en inglés que nos ayudó https://michael.lustfield.net/linux/irssi-as-a-proxy</p> <p>Echarle un vistazo a un archivo de texto oculto en el repo de Irssi ayudó también https://github.com/irssi/irssi/blob/master/docs/proxy.txt</p> <p>Para cualquier pregunta o corrección admin arroba texto-plano.xyz</p> Recibir el correo fuera del servidor 2021-01-22T22:39:00-03:00 wiki.texto-plano.xyz/2021/01/22/recibir-el-correo-fuera-del-servidor <p>El correo de Texto Plano está pensado para verse dentro del sistema, como en la mayoría de tildes o sistemas compartidos y su uso preferente es para comunicarse con el administrador o bien con otros usuarios del sistema o sistemas similares. No obstante, a veces es necesario o mucho más cómodo consultar el correo de forma externa con un cliente en su propio equipo. Contrario a lo que se cree, esto es posible técnicamente y sólo debe configurar su cliente.</p> <p>–</p> <h2 id="imap">IMAP</h2> <p>Servidor: imap.texto-plano.xyz:143</p> <p>Nombre de usuario: usuario</p> <p>Seguridad de la conexión: STARTTLS</p> <p>Autenticación: Con contraseña</p> <h2 id="smtp">SMTP</h2> <p>Servidor texto-plano.xyz:587</p> <p>Seguridad de la conexión: STARTTLS</p> <p>Nombre de usuario: usuario</p> <p>Autenticación: Con contraseña</p> <p>–</p> <p>Es importante señalar que es posible que usted no tenga una contraseña en el sistema ya que no es necesaria para conectarse por SSH y el sistema tampoco las crea. <strong>Si no puede crear su contraseña usted mismo/a debe comunicarse con admin arroba texto-plano.xyz y solicitarla</strong> utilizando la misma cuenta de correo donde también será enviada la contraseña.</p> <p>Una vez entregada la contraseña puede cambiarla inmediatamente con el comando <code>passwd</code>. Solicito encarecidamente utilizar un sistema de almacenamiento de contraseñas como keepass o incluso pass (disponible en este mismo sistema) para no perder su contraseña del correo externo.</p> <p>Editado por ~ffuentes el 22-11-2020</p> Juegos en texto-plano.xyz 2021-01-22T22:21:00-03:00 wiki.texto-plano.xyz/2021/01/22/juegos-en-texto-plano-xyz <p>Una lista de los juegos más interesantes disponibles en el sistema. Hay más en /usr/games/ (si quieren una reseña de alguno de ellos o agregar otro juego al sistema envía un correo a admin en texto-plano.xyz).</p> <h2 id="dopewars">Dopewars</h2> <p>Dopewars es un clásico de la consola en los clones de UNIX. En este caso es un juego de estrategia por turnos en que actúas como un nuevo microtraficante que busca ganar la mayor cantidad de dinero posible. La versión original transcurre en Nueva York pero la internacionalizada que está instalada en Texto Plano transcurre en Madrid y tiene un vocabulario muy español.</p> <h2 id="nethack">Nethack</h2> <p>El clásico ‘roguelike’ o mejor dicho, un juego de rol de calabozos muy conocido y muy antiguo. Este juego está instalado en su versión estándar que no está internacionalizada (esto es, diseñada para ser traducida fácilmente) pero existe una versión traducida llamada Spanish Nethack que fue creada por Ray Chanson para aprender español. http://spanish-nethack.sourceforge.net/spanish/index.html</p> <p>Este es un manual de NetHack en español en el viejo Geocities http://www.geocities.ws/javis_mexico/nh/NHManual/intro.html</p> <h2 id="vitetris">Vitetris</h2> <p>En realidad hay muchas variantes del viejo tetris, de hecho, los juegos de BSD traen una versión (/usr/games/tetris). Sin embargo, vitetris es una versión colorida, con puntajes, que se puede jugar en parejas también y que también permite jugar en línea. Es una variante del tetris muy atractiva y es quizás el juego más jugado de texto-plano.xyz</p> <h2 id="2048">2048</h2> <p>Este juego es más reciente, lo creó un italiano llamado Gabrielle Cirulli y la versión que alojo aquí es una que descubrí gracias a ascii.town. El código del juego viene de https://github.com/mevdschee/2048.c y es muy fácil de compilar.</p> <h2 id="csokoban">Csokoban</h2> <p>Reproduce el puzzle sokoban y permite guardar la partida y registrar algunas estadísticas</p> <p>Editado por última vez por ~ffuentes el 03-01-2021</p> Gab: Un chat asíncrono 2021-01-22T22:16:00-03:00 wiki.texto-plano.xyz/2021/01/22/gab-un-chat-asincrono <p>Es un sencillo programa de chat escrito por ~sloum de colorfield.space y que depende de un archivo de texto. Es muy sencillo y sólo tiene dos opciones más la ayuda.</p> <p>gab: Obtiene los últimos 5 mensajes</p> <p>gab -m (–msg) “mensaje”: Esta opción te permite enviar un mensaje.</p> <p>gab -l (–log) #: Esta opción te permite ver la cantidad de mensajes que gustes donde # es un número.</p> <hr /> <p>Cualquier consulta sobre texto-plano.xyz a admin arroba texto-plano.xyz</p> <p>La página de GAB es https://tildegit.org/sloum/gab</p> Cambiar el intérprete de comandos 2021-01-22T22:07:00-03:00 wiki.texto-plano.xyz/2021/01/22/cambiar-el-interprete-de-comandos <p>OpenBSD por defecto utiliza ksh (Korn Shell) que es un intérprete de comandos distinto al que se suele usar en Linux. No todo el mundo se siente cómod o con ella. Para cambiarlo no es indispensable la asistencia del administrador. Basta con que hagas lo siguiente:</p> <p>Primero digita: cat /etc/shells. Aparecerá en pantalla un archivo con una lista de intérpretes:</p> <pre><code># $OpenBSD: shells,v 1.8 2009/02/14 17:06:40 sobrado Exp $ # # list of acceptable shells for chpass(1). # ftpd(8) will not allow users to connect who are not using # one of these shells, unless the user is listed in /etc/ftpchroot. /bin/sh /bin/csh /bin/ksh /usr/local/bin/git-shell /usr/local/bin/bash /usr/local/bin/fish </code></pre> <p>Luego digita “chpass” y el sistema te llevará a editar un archivo de texto donde debes escribir la ruta del intérprete que prefieras (de la lista de /etc/shells, de lo contrario no va a funcionar). Guarda, cierra tu sesión y vuelve a entrar.</p> <p>Si tienes algún problema con esto avisa a admin arroba texto-plano.xyz.</p> Tutorial basico de la consola 2021-01-22T21:43:00-03:00 wiki.texto-plano.xyz/2021/01/22/tutorial-basico-de-la-consola <p>En este tutorial explicaremos brevemente algunas operaciones básicas de archivado y uso del intérprete de comandos, empleando los siguientes comandos:</p> <ul> <li>touch – crear un fichero</li> <li>pwd – imprimir el directorio de trabajo actual</li> <li>ls – listar ficheros en el directorio actual</li> <li>cp – copiar un fichero</li> <li>mv – mover un fichero</li> <li>rm – remueve un fichero</li> <li>file – examina el tipo de fichero</li> <li>less – lee un fichero</li> <li>mkdir – crea un directorio</li> <li>cd – cambia de directorio</li> <li>rmdir – remueve un directorio</li> <li>clear – borra la pantalla</li> </ul> <p>Por favor tenga en cuenta que cada uno de los comandos indicados arriba cuentan con una página de manual (man-page) que describirá en profundidad las posibilidades completas de cada comando. En este tutorial, simplemente le daremos una reseña breve, suficiente para hacer funcionar lo necesario desde la línea de comandos. Para mayor información sobre las man-pages, vea Buscar Ayuda desde dentro del intérprete o dirijase a http://man.openbsd.org/.</p> <h2 id="opciones-de-comando-nombrado-de-ficheros">Opciones de Comando Nombrado de ficheros</h2> <h3 id="opciones-de-comando">Opciones de Comando</h3> <p>Todos los comandos arriba indicados y muchos de los comandos que descubrirá y usará en el intérprete pueden ser modificados a través del uso de diferentes opciones.</p> <p>Lea las man-pages para encontrar detalles de las opciones disponibles para cada comando. Las opciones normalmente responden a la sintaxis “ls -l”. Esto significa que se tipea el comando, se hace un espacio una vez, se tipea el guión y la letra de la opción que necesita utilizar.</p> <h3 id="nombrado-de-ficheros">Nombrado de ficheros.</h3> <p>Es de buena forma nombrar un archivo o directorio sin espacios libres en el nombre. Un archivo como “mi diario.txt” podría ser mas dificultoso para manejarse en el sistema que el mismo fichero nombrado “mi_diario.txt”. Esto se debe a que el intérprete intepreta mi diario.txt como dos archivos separados, “mi” y “diario.txt”. Si se encuentra ante un fichero con espacios vacíos en el nombre, puede emplear los siguientes métodos para manipularlo:</p> <p>Use tildes o comillas para designar el fichero:</p> <pre><code>rm "mi fichero.txt" </code></pre> <p>(para borrarlo)</p> <pre><code>cp 'mi fichero.txt' mi_fichero.txt (para copiarlo con un nuevo nombre) </code></pre> <p>Use una barra invertida donde hay un espacio vacío:</p> <pre><code>mv mifichero.txt mi_fichero.txt </code></pre> <p>(para renombrarlo)</p> <pre><code>cd respaldos/páginas\ de\ texto/ </code></pre> <p>(para cambiar a un directorio)</p> <p>Use autocompletado con Tab: Muchos intérprete cuentan con autocompletado con Tab.</p> <p>Esto significa que si ingresa los primeros dos o tres caracteres de un nombre de fichero y presiona la opción Tab, a no ser que tenga múltiples ficheros con nombres similares, su intérprete debería ser capaz de autocompletar el nombre por usted. Nota: si no está en el mismo directorio que el fichero que desea autocompletar, necesitará proveerle al intérprete la ruta al mismo, la cual puede autocompletarse mediante Tab de ser necesario.</p> <p>También, cuando nombre un fichero enpleando dos o más palabras, la elección más segura es usar el guión bajo, el guión, y el punto. Por ejemplo:</p> <ul> <li>mi_fichero.txt</li> <li>mi-fichero.txt</li> <li>mi.fichero.txt</li> <li>mifichero.txt</li> </ul> <p>Al emplear otros símbolos, como la potencia (ampersand) podría causar problemas porque algunos de estos símbolos podrían tener otros significados para el uso del intérprete. Como siempre, para más información diríjase a las man-pages del intérprete de su preferencia.</p> <h2 id="comandos">Comandos</h2> <p>Nota: en los ejempos a continuación, el signo porcentaje se emplea para indicar el intérprete de comandos, y no debe ser tipeado o ingresado.</p> <h3 id="touch-y-pwd--crea-un-fichero-e-imprime-el-directorio-de-trabajo">touch y pwd : Crea un fichero e imprime el directorio de trabajo.</h3> <p>Para crear un fichero sin invocar un editor de texto u otro programa, simplemente debe “tocarlo”. Por ejemplo, para crear un fichero llamado naranja.txt, en el intérprete de comandos ingrese</p> <pre><code>touch naranja.txt </code></pre> <p>¡Nada más que eso! Para ver el fichero que usted ha creado, tiene la capacidad de listar el fichero y los directorios contenidos en el directorio de trabajo actual. Primero, vea en qué directorio se encuentra. Por defecto, una vez creado un enlace SSH o Telnet hacia su cuenta de intérprete, usted se encontrará en su directorio Home de usuario. Para confirmarlo, en el intérprete de comandos ingrese:</p> <pre><code>pwd </code></pre> <p>Si su nombre de usuario es Marinette, tal vez vea algo como esto:</p> <p>/home/marinette</p> <h3 id="ls-lista-ficheros-en-su-directorio-actual">ls: lista ficheros en su directorio actual</h3> <p>Ahora listemos los ficheros que se encuentran en nuestro directorio actual. Tipeamos:</p> <pre><code>ls </code></pre> <p>Si hemos seguido el tutorial y creado un fichero llamado naranja.txt con el comando touch, podremos ver este fichero en la devolución del comando ls. A continuación, intentaremos ls con varias opciones para observar las diferencias en la información que nos devolverá el sistema UNIX.</p> <pre><code>ls -l ls -hl ls -a ls -al ls -ahl </code></pre> <h3 id="cp--copiar-un-fichero">cp : Copiar un fichero</h3> <p>Copiar un fichero es muy simple. El comando “copy” sirve dos funciones importantes: hacer una copia de respaldo simple del archivo en cuestión, y también renombrarlo mientras se conserva el original.</p> <p>Supongamos que deseamos respaldar el fichero naranja.txt en un subdirectorio llamado respaldos (expondremos en más detalle más adelante). Para hacer esto, ingresaremos lo siguiente:</p> <pre><code>cp naranja.txt respaldos/ </code></pre> <p>La barra hacia adelante al final del nombre respaldo indica que esto es un directorio.</p> <p>Para emplear el comando cp para cambiar el nombre de un fichero sin destruir el original, tipearíamos lo siguiente:</p> <pre><code>cp naranja.txt mandarina.txt </code></pre> <p>…donde mandarina.txt es el nombre nuevo del fichero.</p> <p>Y para copiar el fichero original naranja.txt al directorio respaldos y cambiarle el nombre al mismo tiempo, ingresaríamos lo siguiente</p> <pre><code>cp naranja.txt backups/mandarina.txt </code></pre> <h3 id="mv--mover-o-renombrar-un-fichero">mv : mover o renombrar un fichero</h3> <p>El comando mv funciona de forma similar al comando cp, pero con una diferencia fundamental. Mover el fichero significa destruir el nombre de fichero original.</p> <p>Por lo tanto el siguiente comando:</p> <pre><code>mv naranja.txt mandarina.txt </code></pre> <p>…reemplazará el fichero naranja.txt con un fichero nuevo llamado mandarina.txt .</p> <p>Puede mantener el nombre de archivo con el comando mv al movel el fichero a un directorio distinto. Para hacerlo así, ingrese lo siguiente:</p> <pre><code>mv naranja.txt respaldos/ </code></pre> <p>Esto moverá el fichero naranja.txt adentro del directorio respaldos. Para mover el fichero al directorio respaldos y para renombrarlo al moverlo, ingrese:</p> <pre><code>mv naranja.txt respaldos/mandarina.txt </code></pre> <h3 id="rm--remover-un-fichero">rm : remover un fichero</h3> <p>Remover un fichero también es muy simple. El comando para hacerlo es rm. Para remover completamente y destruir un fichero, simplemente ingrese:</p> <pre><code>rm naranja.txt </code></pre> <h3 id="nota-corta-en-el-uso-interactivo">Nota corta en el uso interactivo.</h3> <p>Los comandos para copiar, mover y remover ficheros pueden provocar bastante destrucción si no se los emplea cuidadosamente. Para accionar de forma interactiva, ingrese dicha opción ingresando:</p> <pre><code>cp -i naranja.txt respaldos/naranja.txt mv -i naranja.txt mandarina.txt rm -i naranja.txt </code></pre> <p>Al activar la opción interactiva, se le solicitará que responda si o no (yes o no respectivamente) para cada fichero que está solicitando remover. En los comandos cp -i y mv -i se le solicitará si y sólo si el fichero que está copiando o está moviendo sobreescribiría otro fichero.</p> <h3 id="file-examina-el-tipo-de-fichero">file: examina el tipo de fichero</h3> <p>El comando file es útil para determinar qué tipo de fichero es un fichero en particular. En los sistemas operativos similares a UNIX, el nombre de fichero es bastante flexible, y la extensión de fichero (por ejemplo, el apéndice .txt) no siempre es necesaria. De tal manera, si alguien le envió un fichero y desea tener certeza de qué tipo de fichero es antes de abrirlo, emplee el comando file de esta manera:</p> <pre><code>file nombre_del_fichero </code></pre> <p>Los resultados para un fichero de texto podrían ser algo como esto:</p> <p>name_of_file: ASCII text</p> <p>Supongamos que alguien le envió un fichero de imagen llamado sultano.mengano en formato PNG y desea tener certeza que realmente se trata de un fichero PNG. Simplemente ingresamos:</p> <pre><code>file sultano.mengano </code></pre> <p>Si el fichero realmente es un fichero PNG, deberíamos ver algo similar a esto: sultano.mengano: PNG image data, 922 x 691, 8-bit/color RGBA, non-interlaced</p> <h3 id="less--lee-un-fichero">less : Lee un fichero</h3> <p>El comando lees es un tipo de paginador disponible para ver y navegar en ficheros de texto sin alterar o abrir el fichero en un editor de texto. Se le recomienda leer la man-page para este comando porque posee muchos atributos útiles como realizar búsquedas a través del texto de palabras o cadenas específicas. Invóquelo con el nombre de fichero que desea ver:</p> <pre><code>less naranja.txt </code></pre> <p>Si hay más texto en el fichero que el que puede presentar la pantalla de su terminal, presione la barra espaciadora para desplazar página a página. A menudo, las teclas AvPág o RePág del teclado operarán y las flechas del cursor le permitirán normalmente desplazarse línea por línea en ambas direcciones.</p> <h3 id="mkdir-crear-un-directorio">mkdir: Crear un directorio.</h3> <p>Usted creará un directorio usando el comando mkdir. Para crear el directorio respaldos que usamos en los ejemplos previos, ingrese:</p> <pre><code>mkdir respaldos </code></pre> <h3 id="cd--cambiar-directorio">cd : cambiar directorio</h3> <p>El comando cd se emplea para cambiar de directorio. Si estamos en nuestro directorio home, y deseamos ir al directorio recientemente creado respaldos, simplemente ingresamos:</p> <pre><code>cd respaldos </code></pre> <p>Para regresar al directorio home, simplemente tipeamos:</p> <pre><code>cd </code></pre> <p>Al ingresar cd por sí mismo siempre nos llevará al directorio home, lo cual es útil si estamos en una rama alejada en nuestro árbol de directorios. Si sólo deseamos volver un nivel, ingresamos:</p> <pre><code>cd .. </code></pre> <p>Y por supuesto, suempore podremos ingresar la ruta completa del directorio al cual queremos desplazarnos:</p> <pre><code>cd /usr/bin </code></pre> <p>Para cambiar al directorio de trabajo anterior, ingresamos:</p> <pre><code>cd - </code></pre> <h3 id="rmdir--remover-un-directorio">rmdir : remover un directorio</h3> <p>Y para remover un directorio vacío, empleará el comando rmdir.</p> <pre><code>rmdir respaldos </code></pre> <p>El comando rmdir sólo funcionará si el directorio que desea eliminar está vacío de ficheros. Si un directorio contiene ficheros en él y se encuentra seguro que desea eliminar dicho directorio junto con todos los ficheros que contiene, tiene que ingresar el comando rm de forma recursiva, ingresando:</p> <pre><code>rm -r nombre_de_directorio </code></pre> <p>La opción -r le dice al comando rm que remueva el directorio y todo su contenido, incluyendo subdirectorios. ¡Sea muy cuidadoso al emplear este comando! De hecho, la mejor forma de ejecutar este comando es ingresar:</p> <pre><code>rm -ir </code></pre> <p>Esto invocará el uso interactivo del comando de remoción, que le preguntará que responda “yes” o “no” a cada fichero y directorio dable de ser removido. Nuevamente, lea las man-pages para mayores detalles en http://man.openbsd.org/.</p> <h3 id="clear--borrar-la-pantalla">clear : borrar la pantalla.</h3> <p>Finalmente, para borrar la pantalla ingrese lo siguiente en el intérprete:</p> <pre><code>clear </code></pre> <hr /> <p>~peron Editado por ~ffuentes 22-01-2021</p> Uso básico de tmux 2021-01-22T21:11:00-03:00 wiki.texto-plano.xyz/2021/01/22/tmux <h2 id="qué-es-tmux">¿Qué es tmux?</h2> <p>Es un administrador de ventanas para la terminal que nos permite con una sola conexión al servidor abrir varias aplicaciones al mismo tiempo y mantener una sesión activa incluso si nos desconectamos del mismo. Tmux es un proyecto creado por OpenbSD (Texto-plano funciona en un servidor OpenBSD).</p> <h2 id="cómo-iniciar-una-instancia-de-tmux">¿Cómo iniciar una instancia de tmux?</h2> <p>Simplemente escribe:</p> <pre><code>tmux </code></pre> <h2 id="cómo-abro-una-nueva-ventana">¿Cómo abro una nueva ventana?</h2> <p>Todas las operaciones de tmux se realizan con la combinación de teclas Ctrl+b. Mantienes presionada Ctrl mientras presionas b, sueltas ambas y presionas la tecla que realiza la función que deseas.</p> <p>En este caso debes presionar Ctrl+b, C</p> <h2 id="cómo-me-muevo-entre-ventanas">¿Cómo me muevo entre ventanas?</h2> <p>Presionas Ctrl+b como antes y digitas el número de la ventana. Por ejemplo, Ctrl+b, 1.</p> <p>También puedes moverte hacia la derecha con Ctrl+b, n. Para moverte hacia la izquierda presiona Ctrl+b, p.</p> <p>Otra opción es seleccionarla de un listado con Ctrl+b, w.</p> <h2 id="le-puedo-cambiar-el-nombre-a-una-ventana">¿Le puedo cambiar el nombre a una ventana?</h2> <p>Sí, se puede con Ctrl+b, , (sí, es una coma).</p> <h2 id="cómo-cierro-una-ventana">¿Cómo cierro una ventana?</h2> <p>Con Ctrl+b, &amp;. (te va a preguntar si estás seguro/a).</p> <h2 id="cómo-muevo-una-ventana-de-lugar">¿Cómo muevo una ventana de lugar?</h2> <p>Esto es un poco más complejo pero se hace así:</p> <p>Primero: Ctrl+b, : (dos puntos)</p> <p>Segundo (escribimos):</p> <p>swap-window -s [número de la ventana] -t [posición que queremos]</p> <h2 id="cómo-me-salgo-de-la-sesión-ssh-sin-cerrar-tmux">¿Cómo me salgo de la sesión ssh sin cerrar tmux?</h2> <p>Escribimos:</p> <p>Ctrl+b, d</p> <h2 id="cómo-recupero-una-sesión-de-tmux">¿Cómo recupero una sesión de tmux?</h2> <p>Supongamos que al día siguiente de haber iniciado una sesión de tmux volviste. Escribe en la terminal:</p> <p>tmux a -t 0 (suponiendo que es la sesión 0, puedes tener varias)</p> <hr /> <p>Hay muchas más cosas que se pueden hacer pero esto es lo fundamental para poder usar nuestra sesión SSH de una forma eficiente y mantener procesos funcionando cuando apaguemos nuestro pc en casa. Uno de los casos más comunes es mantener una sesión de IRC activa.</p> <p>Cualquier consulta a admin arroba texto-plano.xyz</p> Claves públicas, claves privadas y SSH ¿Para qué sirven? 2021-01-22T21:04:00-03:00 wiki.texto-plano.xyz/2021/01/22/usar-clave-ssh <p>Cuando revisamos nuestro correo o la cuenta de alguna red social generalmente utilizamos una <strong>contraseña</strong>. Sin embargo, a menos que generes contraseñas seguras y sin repetirlas jamás entre servicios, no es seguro. En el caso de un sistema UNIX como un servidor Linux o un BSD (como Texto Plano) es aún más peligroso por la cantidad de cosas que es posible hacer con un servidor. Por eso para conectarnos a un sistema hoy en día utilizamos una conexión cifrada (a través del protocolo SSH) y una clave criptográfica para identificarnos.</p> <p>¿Cómo funciona una clave criptográfica? Es muy simple: Si me quiero conectar a un servidor como Texto-Plano necesito tener una clave SSH. Esta clave (que puede usar distintos algoritmos de cifrado como RSA o ED25519) tiene 2 partes:</p> <p>Clave privada (esta sólo la tienes tú y nadie más) Clave pública (ésta se comparte con el servidor) Para autenticarte, SSH te pedirá tener la misma clave pública que está almacenada en el servidor, pero para que funcione debes tener la clave privada junto a ella, de lo contrario, no puedes demostrar que esa clave es tuya.</p> <h2 id="cómo-creo-una-clave-para-ssh">¿Cómo creo una clave para SSH?</h2> <h3 id="openssh">OpenSSH</h3> <p>Con OpenSSH (generalmente en sistemas UNIX como GNU/Linux, BSD u OSX pero también puede usarse en Windows si lo instalas) utilizas el siguiente comando:</p> <pre><code>ssh-keygen </code></pre> <p>Y siguiendo las instrucciones deberías tener dos archivos que por defecto se llaman:</p> <ul> <li>id_rsa (o id_ed25519, privado, no lo compartas con nadie)</li> <li>id_rsa.pub (o id_ed25519.pub, público, el que debes copiar en el otro servidor)</li> </ul> <p>Luego sólo te queda copiar el archivo con la clave pública al servidor, en la carpeta ~/.ssh/.</p> <p>Si accedes al servidor con una contraseña puedes utilizar el comando ssh-copy-id para transferirlo tú mismo:</p> <pre><code>ssh-copy-id usuario@servidor.dominio </code></pre> <p>De no tener acceso al servidor con contraseña debes o contactar al administrador o entrar desde otro equipo en que sí tengas acceso y pegar el contenido de id_rsa.pub en ~/.ssh/authorized_keys.</p> <p>Si tienes acceso a tu carpeta de usuario puedes hacer esto con la utilidad cat:</p> <pre><code>cat id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys </code></pre> <p>(Si es tu primera clave pública en texto-plano.xyz tendrás que enviarlo por correo a admin arroba texto-plano.xyz ya que este servidor no admite autenticación por contraseña)</p> <h3 id="con-puttygen-windows">Con PuttyGen (Windows):</h3> <p>Generalmente en Windows nos conectamos a sistemas externos por consola a través de Putty que emplea un formato distinto, el archivo .PPK.</p> <p>Para esto necesitamos la utilidad PuttyGen que va a crear una clave para nosotros. Tanto Putty como PuttyGen los podemos conseguir en la web de Putty.</p> <p>Primero ejecutamos PuttyGen. Haremos clic en “Generate” y luego que el proceso termine tendremos que hacer clic en “Save private key”. Putty guarda su clave pública en un formato distinto así que es preferible que la copiemos desde el cuadro de texto de arriba que dice “Public key for pasting into OpenSSH authorized_keys file” y ese archivo lo pegamos en ~/.ssh/authorized_keys (o se lo enviamos al administrador del servidor si es el caso)</p> <p><img src="https://texto-plano.xyz/img/puttygen.jpg" alt="Puttygen" class="center-image" /></p> <p>Luego sólo queda agregar nuestra clave privada a Putty para conectarnos. Nos vamos a Connection -&gt; SSH -&gt; Auth y donde dice “Private key file for authentication” presionamos Browse y buscamos el archivo .PPK</p> <p><img src="https://texto-plano.xyz/img/putty-key.jpg" alt="Putty" class="center-image" /></p> <p>Estamos listos para conectarnos. Volvemos a Session y digitamos la dirección del servidor, opcionalmente guardamos la conexión (si la vamos a usar en Saved Sessions) y presionamos Open para conectarnos.</p> <hr /> <p>Cualquier duda al respecto envíanos un correo a admin arroba texto-plano.xyz</p>