Establecer apropiado .Permisos de SSH/Configuración

Establecer apropiado .Permisos de SSH/Configuración
El protocolo SSH es un protocolo seguro que generalmente se usa para conectarse a dispositivos remotos, como servidores y dispositivos de red, incluidos enrutadores e interruptores. Funciona en una configuración de cliente cliente y, de forma predeterminada, escucha en el puerto 22 (aunque esto se puede cambiar cuando sea necesario). SSH emplea diferentes técnicas de cifrado y hash para garantizar que la comunicación entre el cliente y el host remoto esté encriptada y a salvo de la espía.

Los archivos SSH se almacenan en el .ssh carpeta. Esta es una carpeta oculta que reside en el directorio de inicio. El .ssh El directorio no se crea por defecto; se crea cuando inicia una conexión con un host remoto o usa el ssh-keygen Comando para generar las claves de autenticación privada y pública como cuando desea configurar la autenticación SSH sin contraseña.

El .ssh carpeta. Contiene archivos SSH esenciales como:

  1. Claves públicas y privadas ( ID_RSA y ID_RSA.pub ).
  2. El conocido_hosts Archivo: contiene claves públicas de todos los sistemas remotos a los que se ha conectado.
  3. El configuración archivo de configuración del cliente

Si el configuración El archivo no existe, puede crear fácilmente uno como se muestra.

$ touch ~/.ssh/config

El .Archivo de configuración del cliente SSH/config

Cada vez que inicia una conexión SSH, debe especificar detalles como la dirección IP o el nombre de dominio y el puerto SSH está escuchando. Por ejemplo,

$ ssh [email protected] -P 22

Puede ser agitado tener siempre recordar tales detalles. Y aquí es donde el ~/.ssh/config El archivo entra en. El ~/.ssh/config El archivo es un archivo de configuración que le permite configurar los detalles de configuración por usuario del host remoto. Le ahorra la agonía de tener que recordar siempre los detalles por host requeridos para la conexión.

Aparece un archivo de configuración de muestra como se muestra.

Servidor de puesta en escena del host
Nombre de host 192.168.2.103
Usuario James
Puerto 22

Un simple comando SSH en el host remoto se vería de la siguiente manera:

$ ssh staging-server

El .permisos de archivo SSH/config

Por defecto, el ~/.ssh/config El archivo de configuración del cliente posee el 644 permisos de archivo. Puedes verificar que usando el ls -la Comando de la siguiente manera.

$ ls -la ~/.ssh/config

Esto implica que el propietario y el grupo del archivo tienen permisos de lectura y escritura (RW), mientras que otros usuarios solo tienen permisos de lectura (R) (R).

-RW-RW-R--

NOTA:

Como regla general, nunca asigne permisos de escritura a otros usuarios. Esto plantea un riesgo de seguridad para su archivo, y otros usuarios que no son usted mismo o en su grupo pueden modificar el contenido del archivo. Asignar permisos de escritura dará como resultado el 'Mal propietario o permisos'Error como se indica a continuación.

Aquí, al archivo de configuración se les asignó los permisos 666. Esto implica que todos pueden leer y escribir el archivo.

Del mismo modo, el mismo caso se aplica aquí donde se ha asignado al archivo 777 permisos. Esto implica que todos pueden leer, escribir y ejecutar el archivo. En pocas palabras, cualquiera tiene todos los derechos del archivo potencialmente peligroso.

La mejor práctica recomienda que deje los permisos predeterminados en 664 o 600, donde solo el propietario tiene permisos de lectura y escritura (RW). De esta manera, el archivo sigue a salvo de ser modificado por usuarios no autorizados.

Además, asegúrese de ser dueño del archivo. Si el archivo se cambia a otro usuario, SSH no podrá resolver el nombre de host proporcionado en el archivo de configuración.

En el ejemplo a continuación, el ~/.ssh/config La propiedad se ha establecido en Bob Bob.

Para resolver este problema, volví a la propiedad del archivo original utilizando el queso dominio.

$ sudo chown James: James ~/.ssh/config

Con los permisos de archivo revertidos, ahora puedo tener acceso invocando el comando ssh seguido del nombre de host especificado en el archivo de configuración.

$ ssh staging-server

Y eso es todo lo que necesita saber sobre cómo establecer permisos en el ~/.ssh/config archivo. Asegúrese de no establecer permisos de lectura en el resto de los usuarios y asegúrese de poseer el archivo.