GNU/Linux >> Tutoriales Linux >  >> Linux

19 comandos SSH comunes en Linux con ejemplos

Introducción

SSH (Secure Shell) es un protocolo de red que permite conexiones remotas seguras entre dos sistemas. Los administradores del sistema usan las utilidades SSH para administrar máquinas, copiar o mover archivos entre sistemas. Debido a que SSH transmite datos a través de canales encriptados, la seguridad es de alto nivel.

Este artículo lo guiará a través de los comandos SSH más populares . La lista también puede servir como una hoja de trucos y será útil la próxima vez que necesite completar una tarea.

Requisitos previos

  • Un cliente SSH de su elección
  • Un servidor SSH en la máquina remota
  • La dirección IP o el nombre del servidor remoto

Cómo acceder a un servidor remoto

Para conectarse a una máquina remota, necesita su dirección IP o nombre. Cargue la terminal o cualquier cliente SSH y escriba ssh seguido de la dirección IP:

ssh 192.168.56.101

o nombre:

ssh test.server.com

La primera vez que se conecte a un host, verá este mensaje:

Escriba y pulsa enter. Es posible que también deba ingresar su contraseña.

Especifique un nombre de usuario para la conexión SSH

SSH usa el usuario actual cuando accede a un servidor remoto. Para especificar un usuario para una conexión SSH, ejecute el comando en este formato:

ssh [email protected]_or_ip

Por ejemplo:

ssh [email protected]

Nota: Si encuentra el error "Conexión rechazada", consulte nuestra guía SSH "Conexión rechazada" para obtener soluciones.

Usar un número de puerto diferente para la conexión SSH

De manera predeterminada, el servidor SSH escucha una conexión en el puerto 22. Si se cambió la configuración del puerto en el archivo de configuración SSH, deberá especificar el puerto. De lo contrario, obtendrá este error:


Para conectarse a un host remoto con un número de puerto SSH personalizado, use -p bandera. Por ejemplo:

ssh test.server.com -p 3322

Generar claves SSH usando SSH Keygen

Para mejorar la seguridad de las conexiones SSH, genere un par de claves con la utilidad keygen. El par consiste en una clave pública y privada. La clave pública se puede compartir, mientras que la clave privada debe permanecer segura.

Los pares de claves SSH se utilizan para autenticar automáticamente a los clientes en los servidores. Cuando crea un par de claves SSH, ya no es necesario ingresar una contraseña para acceder a un servidor.

En la terminal de la máquina host, use este comando para crear un par de claves:

ssh-keygen -t rsa

Para usar la configuración predeterminada, presione Entrar en las indicaciones para la ubicación del archivo y la frase de contraseña.

Copiar clave SSH pública

Para usar el par de claves para la autenticación SSH, deberá copiar la clave pública en un servidor. La clave es el archivo id_rsa.pub creado previamente con la utilidad SSH keygen.

Para copiar su clave a un servidor, ejecute este comando desde el cliente:

ssh-copy-id hostname_or_IP

También puede especificar un nombre de usuario si no desea utilizar el usuario actual.

Ingrese la contraseña para autenticarse cuando se le solicite. Después de esto, ya no necesitará usar la contraseña para conectarse al mismo servidor.

Copiar un archivo de forma remota a través de SSH con SCP

Puede copiar archivos de forma segura a través del protocolo SSH utilizando el SCP herramienta. La sintaxis básica es:

scp fileName [email protected]:/home/username/destination

Por ejemplo, para copiar un archivo sample3 a su escritorio en un servidor remoto con un nombre de usuario test , escribe:

scp sample3 [email protected]:/home/test/Desktop

La salida muestra un resumen de la operación.

Asegúrate de usar mayúsculas -P bandera si necesita especificar el puerto.

Editar archivo de configuración SSH

Puede controlar cómo los usuarios remotos pueden acceder a un servidor a través de SSH. Edite la configuración en sshd_config archivo para personalizar las opciones del servidor SSH. Asegúrese de editar solo las opciones con las que está familiarizado. Un servidor puede volverse inaccesible debido a una mala configuración.

Utilice el editor de su elección para editar el archivo. Necesitará permisos de superusuario para realizar cambios. En Linux, usamos vim :

En la línea de comando en un host remoto, escriba:

sudo vim /etc/ssh/sshd_config

Ingresa la contraseña de sudo y el shell abre el archivo en el editor que usaste.

Reiniciar servicio SSH

Cuando realice cambios en la configuración de SSH, deberá reiniciar el servicio en Linux.

Según la distribución de Linux, ejecute uno de los siguientes comandos en la máquina donde modificó la configuración:

sudo ssh service restart

o:

sudo sshd service restart

Finalmente, ingrese la contraseña para completar el proceso. Como resultado, la próxima sesión de SSH utilizará la nueva configuración.

Comandos SSH básicos

Trabajar en un servidor remoto usando SSH requiere conocer los comandos básicos de SSH. Utilice los comandos y las opciones de este artículo para administrar un host remoto. Tenga en cuenta que puede combinar las banderas para obtener el resultado que necesita.

Mostrar ruta del directorio de trabajo

Usa la pwd Comando para mostrar la ruta del sistema de archivos.

El resultado muestra la ubicación del directorio en el que se encuentra.

Lista de archivos y directorios

Cambiar directorio

Para enumerar el contenido de una carpeta de trabajo actual, use el ls comando.

El shell mostrará los nombres de todos los directorios, archivos y enlaces. Para obtener más información, agregue una de las siguientes banderas:

  • -a muestra los archivos ocultos de Linux y las entradas que comienzan con un punto.
  • -l muestra los detalles del archivo para el contenido del directorio. Por ejemplo, la salida incluye permisos, propiedad, fecha, etc.
  • -s enumera el tamaño de los archivos, en bloques. Agregue -h para mostrar el tamaño en una forma legible por humanos.

Para navegar a una carpeta específica, use el cd comando y un nombre o ruta de un directorio.

cd Desktop/Downloads/Sample

Recuerde que los nombres distinguen entre mayúsculas y minúsculas. Usar cd sin nombre o ruta para volver al directorio de inicio del usuario.

Útil cd las opciones incluyen:

  • cd .. vaya al directorio un nivel más alto que su ubicación actual.
  • cd - cambiar al directorio anterior.
  • cd / vaya al directorio raíz.

Copiar un archivo

Usa el cp comando para copiar un archivo o directorio. Deberá incluir el nombre del archivo y la ubicación de destino.

cp fileName /directory/path/destination

Para copiar archivo1 desde Escritorio a Dir1 , escribe:

cp file1 Dir1

Para cambiar el nombre de file1 mientras lo copia a otro destino, use este formato:

cp file1 Dir1/Newfile1Name

Este comando copia file1 a Dir1 con el nombre que especifiques.

Para copiar un directorio y su contenido, use el indicador -r en este formato:

cp -r Directory1 NewLocation

Mover un archivo

El mv El comando funciona de la misma manera que el comando de copia.

Por ejemplo, para mover un archivo a otra ubicación, escriba:

mv fileName directory/path/destination

Crear un archivo

El comando táctil le permite crear un nuevo archivo con cualquier extensión.

En la terminal, ingresa el siguiente comando:

touch fileName

Por ejemplo, para crear un system.log archivo, escriba:

touch system.log

Crear un Directorio

Para crear un directorio, use mkdir dominio. Ingrese un nuevo nombre de directorio o ruta completa en este formato:

mkdir NewDirectoryName

O:

mkdir directory/path/NewDirectoryName

Eliminar un archivo o directorio

Para eliminar un archivo de Linux, use rm en este formato:

rm fileName

Además, puede introducir una ruta completa:

rm /home/user/dir1/fileName

Para eliminar un directorio , agregue el -r marca al comando rm.

Ver información de la red

Para ver el estado de todos los adaptadores de red, use el ifconfig dominio. Además, cuando no usa ninguna opción con ifconfig, la salida muestra solo las interfaces activas.

Borrar la pantalla de la terminal

Para borrar el área de trabajo actual de su pantalla bash, escriba clear en la concha Este comando borra una parte de la pantalla y desplaza hacia arriba la salida anterior.

Para eliminar la salida de la terminal por completo, use reset comando.

Ejecutar un comando en un servidor remoto desde una computadora local

Este método no crea un nuevo shell. En su lugar, ejecuta un comando y devuelve al usuario al indicador local. Puede crear un archivo, copiar archivos o ejecutar cualquier otro comando SSH en este formato.

Para ejecutar un comando de forma remota desde la máquina local, agregue una instrucción al comando SSH. Por ejemplo, para eliminar un archivo, escriba:

ssh test.server.com rm ~/Desktop/Dir1/sample4

Ingrese la contraseña y el archivo en el servidor remoto se eliminará sin crear un nuevo shell.

Opciones de línea de comandos SSH

La herramienta SSH viene con muchos opcionales parámetros La siguiente tabla enumera las opciones SSH comunes y las descripciones correspondientes.


Linux
  1. Envía comandos a múltiples sesiones SSH con Terminator

  2. Comandos de cabeza y cola en Linux explicados con ejemplos

  3. Más de 10 comandos de Linux VI con ejemplos

  4. Cómo trabajar con el cliente SFTP en Linux:10 comandos sftp

  5. Los comandos de Linux más simples con 10 ejemplos

Comando ip de Linux con ejemplos

15 comandos ps de Linux con ejemplos

Comandos de Nmap con ejemplos

Comandos RPM en Linux con ejemplos

Comandos SSH en Linux con ejemplos de uso

Cómo administrar de forma remota un servidor Linux con SSH

    Opción SSH Descripción
    -1 Instruye a ssh para usar la versión 1 del protocolo
    -2 Instruye a ssh para usar la versión 2 del protocolo.
    -4 Permite solo direcciones IPv4.
    -6 Permite solo direcciones IPv6.
    -A Habilita el reenvío de conexión del agente de autenticación. Utilice esta opción con precaución.
    -a Deshabilita el reenvío de conexión del agente de autenticación.
    -b bind_address Utilice esta opción en el host local con más de una dirección para establecer la dirección de origen de la conexión.
    -C Habilita la compresión de datos para todos los archivos. Solo para ser utilizado con conexiones lentas.
    -c cipher_spec Utilice para seleccionar una especificación de cifrado. Enumere los valores separados por una coma.
    -E nombre_archivo_de_registro Adjunta registros de depuración a log_file en lugar de un error estándar.
    -f Envía ssh al fondo, incluso antes de ingresar una contraseña o frase de contraseña.
    -g Permite que los hosts remotos se conecten a los puertos reenviados en una máquina local.
    -q Ejecuta ssh en modo silencioso. Suprime la mayoría de los mensajes de error o advertencia.
    -V Muestra la versión de la herramienta ssh y sale.
    -v Imprime mensajes de depuración para la conexión ssh. El modo detallado es útil para solucionar problemas de configuración.
    -X Utilice esta opción para habilitar el reenvío X11.
    -x Deshabilitar el reenvío X11.