Saltar al contenido principal
LibreTexts Español

1.2: Inicio de sesión

  • Page ID
    55207
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Este libro asume que tiene acceso a una cuenta en un sistema operativo similar a Unix (como Linux) que puede usar directamente o iniciar sesión de forma remota a través del protocolo de inicio de sesión SSH (Secure-shell). Las cuentas de este tipo están frecuentemente disponibles en universidades e instituciones de investigación, aunque también puedes considerar usar o instalar Linux en tu propio hardware. Adicionalmente, CyVerse Collaborative proporciona acceso gratuito de línea de comandos a los investigadores biológicos a través de su sistema Atmosphere; consulte el final de este capítulo para obtener información sobre cómo acceder a este sistema usando su navegador web.

    Antes de explicar algo en detalle, vamos a cubrir el proceso real de iniciar sesión en una computadora remota a través de SSH. Para ello, necesitarás cuatro cosas:

    1. Software de cliente en su propia computadora.
    2. La dirección de la computadora remota, llamada su “nombre de host” o, alternativamente, su dirección IP (protocolo de Internet).
    3. Un nombre de usuario en el equipo remoto con el que iniciar sesión.
    4. Una contraseña correspondiente en la máquina remota con la que iniciar sesión.

    Si está utilizando una computadora con Mac OS X, el software cliente estará orientado a la línea de comandos y será accesible desde la utilidad Terminal. El Terminal se encuentra en la carpeta Utilidades, dentro de la carpeta Aplicaciones. [1]

    Acceso a Terminal a través del Finder

    En la ventana que se abre, verá un prompt para ingresar comandos. En mi computadora se ve así:

    alt

    En esta solicitud, ingrese lo siguiente: ssh @ <username><hostname or ip>. Tenga en cuenta que en realidad no escribe los corchetes angulares; los corchetes angulares son solo algunas nomenclaturas de uso común para indicar un campo que necesita especificar. Para iniciar sesión en mi cuenta con el nombre de usuario oneils en la computadora principal Linux de la Universidad Estatal de Oregon (shell.onid.oregonstate.edu), por ejemplo, escribía:

    alt

    Para iniciar sesión en una instancia de CyVerse con dirección IP 128.196.64.193 (y nombre de usuario oneils), sin embargo, usaría:

    alt

    Después de presionar Enter para ejecutar el comando, es posible que se le pida “verificar la huella digital clave” del equipo remoto. Cada computadora que ejecuta el sistema de inicio de sesión SSH utiliza un par único de “claves” con fines criptográficos: la clave pública es accesible al mundo, y solo la computadora remota conoce la clave privada. Los mensajes cifrados con la clave pública solo se pueden descifrar con la clave privada; si le importaba verificar con el propietario del equipo remoto que la “huella digital” de la clave pública era correcta, entonces podría estar seguro de que nadie entre usted y el equipo remoto correcto podría ver su sesión de inicio de sesión. A menos que tenga una razón para sospechar algún tipo de espionaje, generalmente es seguro ingresar en este aviso. Normalmente, se le pedirá una vez por cada huella digital, a menos que su computadora local olvide la huella dactilar o el administrador del sistema la cambie (¡o de hecho hay un intento de espionaje!).

    En cualquier caso, a continuación se le pedirá que ingrese su contraseña. Tenga en cuenta que a medida que escriba la contraseña, no verá ningún carácter que se muestre en la pantalla. Esta es otra característica de seguridad, para que ningún transeúnte pueda ver el contenido o incluso la longitud de tu contraseña. Sin embargo, hace que la entrada de contraseña sea más difícil, así que tenga cuidado al ingresarla. Después de iniciar sesión en una computadora remota, el símbolo del sistema generalmente cambiará para reflejar el inicio de sesión:

    alt

    Si está ejecutando Microsoft Windows, deberá descargar el software cliente SSH de la web, instalarlo y ejecutarlo. Una opción es PuTTy.exe, que está disponible en http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

    Una vez descargado, deberá instalarse y ejecutarse. En el campo Nombre de host (o dirección IP), ingrese el nombre de host o la dirección IP, como se discutió anteriormente. Deje el número de puerto al valor predeterminado de 22 y haga clic en Abrir.

    Configuración óptima de Putty

    Si ha ingresado correctamente el nombre de host o IP, se le pedirá su nombre de usuario y contraseña (y potencialmente para verificar la huella digital de la clave).

    Por último, si ya estás ejecutando un sistema operativo Linux u otro tipo UNIX, los pasos para iniciar sesión remotamente a través de SSH serán similares a los de Mac OS X, aunque necesitarás encontrar la utilidad Terminal por tu cuenta. Si está utilizando CyVerse Atmosphere, entonces puede utilizar una ventana de terminal directamente en el navegador web haciendo clic en la pestaña Access By Shell o en el enlace Open Web Shell. En todos los casos, la interfaz basada en texto será idéntica, porque el equipo remoto, en lugar de su escritorio local, determina la pantalla.

    Iniciar sesión más allá, cambiar su contraseña

    Dependiendo de dónde esté iniciando sesión, es posible que no haya terminado con el proceso de inicio de sesión. En muchas universidades y centros de investigación, el administrador preferiría que no hagas ningún trabajo en la computadora en la que iniciaste sesión inicialmente, porque esa computadora puede estar reservada solo para inicios de sesión iniciales por decenas o incluso cientos de investigadores. Como resultado, es posible que deba “verificar” una computadora secundaria interna para sus necesidades computacionales reales. En ocasiones esto se puede hacer mediante SShing en la línea de comandos a la computadora secundaria, pero en algunas instituciones, se le pedirá que ejecute otros comandos para este proceso de checkout. Consulte con el administrador de su sistema local.

    Además, es posible que desee cambiar su contraseña después de su inicio de sesión inicial. Ejecutar el comando passwd generalmente es suficiente, y se le pedirá que ingrese sus contraseñas antiguas y nuevas. Como es habitual, por razones de seguridad, no aparecerán caracteres al ingresar. Además, los buenos administradores del sistema nunca piden tu contraseña, y no pueden recuperarla si se pierde. Lo mejor que pueden hacer los administradores es restablecerlo a uno temporal.

    SSH: Shell seguro

    Uno podría preguntarse con razón: ¿qué acabamos de lograr con todo este inicio de sesión? En nuestra computadora de escritorio, usamos un programa llamado cliente para conectarnos a otro programa, llamado servidor. Un servidor es un programa que espera en segundo plano a que otro programa (un cliente) se conecte a él. [2] Esta conexión suele ocurrir a través de una red, pero también pueden ocurrir conexiones entre programas en la misma computadora. Un cliente es un programa que generalmente es ejecutado por un usuario según sea necesario y se conecta a un servidor. Si bien es más correcto definir un servidor como un programa que espera una conexión de un cliente, coloquialmente, las computadoras que ejecutan principalmente programas de servidor también se conocen como servidores.

    Clientes SSH que utilizan la red para conectarse al servidor SSH en el puerto 22

    El servidor SSH y el cliente SSH se comunican usando lo que se conoce como el “protocolo” SSH, simplemente un formato acordado para la transferencia de datos. El protocolo SSH es bastante ligero: debido a que todo el cálculo real ocurre en la máquina remota, la única información que necesita ser transferida al servidor son las pulsaciones de teclas escritas por el usuario, y la única información que necesita ser transferida al cliente son los caracteres a mostrar al usuario. Como su nombre lo indica, el protocolo SSH es muy seguro debido a su dependencia de la criptografía avanzada de clave pública. [3]

    El servidor SSH puede no ser el único programa de servidor que se ejecuta en el equipo remoto. Por ejemplo, los servidores web permiten que las computadoras remotas sirvan páginas web a clientes (como Mozilla Firefox y Safari de OS X) usando HTTP (protocolo de transferencia de hipertexto). Pero debido a que solo hay un nombre de host o dirección IP asociada a la computadora remota, se requiere un bit extra (byte, en realidad) de información, conocido como el “número de puerto”. A modo de analogía, si la computadora remota fuera un edificio de departamentos, los números de puerto serían números de departamento. Por convención, SSH se conecta en el puerto 22 y HTTP conecta en el puerto 80, aunque estos puertos pueden ser cambiados por administradores que deseen ejecutar sus servicios de formas no estándar. Esto explica por qué se especifica el puerto 22 cuando se conecta a través de Putty (y es el predeterminado cuando se usa ssh de línea de comandos, pero se puede ajustar con un parámetro).

    Clientes web y servidores que se conectan a través de la misma red que los Clientes SSH y Servidores en el puerto 80.

    Otros protocolos de interés incluyen FTP (protocolo de transferencia de archivos) y su versión segura, SFTP (protocolo de transferencia segura de archivos), diseñado específicamente para transferir archivos.

    Acceso a la línea de comandos con CyVerse Atmosphere

    Idealmente, los lectores de este libro tendrán acceso a un sistema operativo basado en UNIX (por ejemplo, Linux) con acceso a la línea de comandos. Esto suele ser el caso de individuos en universidades y otras instituciones de investigación o educativas. Muchos usuarios tienen acceso a dichos sistemas pero ni siquiera se dan cuenta, ya que el servicio no suele ser ampliamente publicitado.

    Para quienes no tienen acceso institucional, existen algunas alternativas. Primero, las máquinas Mac OS X están basadas en Unix y vienen con una interfaz de línea de comandos (a través de la aplicación Terminal), aunque las herramientas de línea de comandos difieren ligeramente de las herramientas basadas en GNU que se encuentran en la mayoría de las distribuciones de Linux. Una búsqueda en la web de “OS-X GNU core utils” arrojará algunas instrucciones para remediar esta discrepancia. En segundo lugar, es posible instalar una distribución Linux (como Ubuntu Linux) en la mayoría de los escritorios y laptops configurando la computadora para “arranque dual” Linux y el sistema operativo principal. Alternativamente, las distribuciones Linux se pueden instalar dentro del software de “máquina virtual”, como VirtualBox (http://virtualbox.org).

    Una adición bastante emocionante y relativamente reciente a estas opciones es el sistema Atmosphere, dirigido por la colaborativa CyVerse (anteriormente iPlant), un proyecto de ciberinfraestructura fundado en 2008 para apoyar las necesidades computacionales de los investigadores en las ciencias de la vida. CyVerse en su conjunto alberga una variedad de proyectos, desde recursos educativos hasta análisis bioinformáticos guiados. El sistema Atmosphere es el más relevante para nosotros aquí, ya que proporciona acceso basado en la nube a sistemas que ejecutan Linux. Para comenzar a usar uno de estos sistemas, navegue a http://cyverse.org/atmosphere y haga clic en el enlace para “Crear una cuenta” o “Lanzar atmósfera”. Si necesita crear una nueva cuenta, hágalo: Cyverse solicita una variedad de información para la creación de cuentas para ayudar a medir el interés de los usuarios y obtener apoyo financiero. También puede necesitar solicitar acceso especial al sistema Atmosphere a través de su cuenta en la página principal de Atmosphere, ya que Atmosphere consume más recursos que otras herramientas proporcionadas por CyVerse.

    Página principal de CyVerse Atmosphere

    Después de hacer clic en el enlace “Lanzar”, tendrá la oportunidad de ingresar su nombre de usuario y contraseña (si se le ha otorgado uno).

    El sistema Atmosphere funciona dividiendo clústeres de computadoras físicas (ubicadas en uno de los diversos proveedores del país) en máquinas virtuales accesibles para el usuario de varios tamaños. Al realizar un cálculo que requiera muchos núcleos de CPU, por ejemplo, uno podría desear acceder a una nueva “instancia” con 16 CPU, 64 gigabytes (GB) de RAM y 800 GB de espacio en disco duro. Por otro lado, para fines de aprendizaje, es probable que solo necesites una pequeña instancia con 1 CPU y 4 GB de RAM. Esta es una consideración importante, ya que CyVerse limita a los usuarios a una cierta cuota de recursos. Los usuarios están limitados por la cantidad de “unidades de atmósfera” (AU) que pueden usar por mes, definidas aproximadamente como usar una sola CPU durante una hora. Los usuarios también están limitados en el número total de CPU y la cantidad total de RAM que pueden usar simultáneamente.

    Después de determinar el tamaño de instancia necesario, es necesario determinar qué “imagen” del sistema operativo debe cargarse en la máquina virtual. Todos los usuarios pueden crear tales imágenes; algunos usuarios crean imágenes con software preinstalado para analizar datos de secuenciación de ARN, realizar ensamblajes de genoma de novo, etc. Hemos creado una imagen específicamente para acompañar este libro: es bastante simple e incluye NCBI Blast+ (la versión más moderna de BLAST producida por el Centro Nacional de Información Biotecnológica), R, Python, git y algunas otras herramientas. Se llama “Imagen APCB”.

    Para activar una nueva instancia con esta imagen, haga clic en el botón “Nuevo -> Instancia” en la interfaz Atmosphere. Es posible que primero necesites crear un “Proyecto” para que la instancia viva. Puedes buscar “Imagen APCB” en el cuadro de búsqueda de tipos de instancias. Aquí está la vista de mi proyecto APCB después de crear e iniciar la instancia:

    Atmósfera Vista de proyectos después de la creación de una instancia.

    Después de crear la instancia, puede estar en uno de varios estados; generalmente estará “en ejecución” (es decir, disponible para iniciar sesión y consumir recursos) o “suspendida” (efectivamente pausada y no consumiendo recursos). La interfaz para una instancia dada tiene botones para suspender o reanudar una instancia suspendida, así como botones para “Detener” (cerrar una instancia), “Reiniciar” (reiniciar la instancia) y “Eliminar” (eliminar la instancia y todos los datos almacenados en ella).

    El panel de acciones se encuentra en el lado derecho de la página de detalles de la instancia.

    Una vez que una instancia está en funcionamiento, hay varias formas de acceder a ella. En primer lugar, es accesible vía SSH en la dirección IP proporcionada. Tenga en cuenta que es probable que esta dirección IP cambie cada vez que se reanude la instancia. Arriba, la dirección IP se muestra como 128.196.64.36, por lo que podríamos acceder a ella desde la aplicación OS X Terminal:

    [soneil @mbp ~] $ ssh oneils @128 .196.64.36

    La interfaz web Atmosphere también proporciona un botón “Open Web Shell”, que proporciona acceso a la línea de comandos directamente en su navegador. Cuando termines de trabajar con tu instancia de Atmosphere, es importante suspender la instancia, de lo contrario estarás desperdiciando recursos computacionales que otros podrían estar usando (así como tu propia cuota).

    Cerrar sesión

    Una vez terminado de trabajar con el equipo remoto, debemos cerrar la sesión de SSH. El cierre de sesión se realiza ejecutando el comando exit en la línea de comandos hasta que se devuelve al escritorio local o el programa cliente SSH cierra la conexión. Alternativamente, basta con cerrar el programa cliente SSH o Windows; SSH cerrará la conexión y no se hará ningún daño. Tenga en cuenta, sin embargo, que cualquier programa actualmente en ejecución será cancelado al cerrar la sesión.

    Si estás trabajando en una instancia Atmosphere o una máquina virtual similar alojada remotamente, es una buena idea suspender también la instancia para que el tiempo dedicado a no funcionar no se cuente contra tu límite de uso.

    Ejercicios

    1. Practique iniciar sesión y volver a salir de la máquina remota a la que tiene acceso.
    2. Cambia tu contraseña a algo seguro pero también fácil de recordar. La mayoría de los sistemas Linux/Unix no limitan la longitud de una contraseña, y las contraseñas más largas compuestas por colecciones de palabras simples son más seguras que las cadenas cortas de letras aleatorias. Por ejemplo, una contraseña como correcthorsebatterystaple es mucho más segura que tr0UB4dor&3. [4]
    3. Un programa llamado telnet nos permite conectarnos a cualquier servidor en cualquier puerto e intentar comunicarnos con él (lo que requiere que sepamos los mensajes correctos a enviar al servidor para el protocolo). Intente conectarse con telnet al puerto 80 de google.com usando el botón de radio “Telnet” en Putty si está en Windows, o ejecutando telnet google.com 80 en el Terminal en OS X. Ejecute el comando GET http://www.google.com/ para ver los datos sin procesar devueltos por el servidor.

    1. Es probable que el estilo de tu sesión de terminal no se vea como lo que mostramos en este libro, pero puedes personalizar el aspecto de tu terminal usando las preferencias. ¡Pasaremos mucho tiempo en este ambiente!
    2. A veces, los programas de servidor se llaman “demonios”, terminología que evoca el infame “demonio” de Maxwell, una entidad teórica imposible que trabaja en segundo plano para clasificar moléculas gaseosas.
    3. La infraestructura de clave pública actualmente en uso por SSH solo es segura en la medida en que cualquier persona en el ámbito académico sospecha: las matemáticas subyacentes al protocolo de intercambio de claves aún no se han demostrado irrompibles. La mayoría de los matemáticos, sin embargo, sospechan que son irrompibles. Por otro lado, se sabe que los errores ocurren en el propio software, aunque generalmente se corrigen puntualmente cuando se encuentran.
    4. Estas contraseñas de ejemplo fueron extraídas de un webcomic sobre el tema, ubicado en http://xkcd.com/936/.

    This page titled 1.2: Inicio de sesión is shared under a CC BY-NC-SA license and was authored, remixed, and/or curated by Shawn T. O’Neil (OSU Press) .