What Should I Do If Error Message "Permission denied" Is Displayed When I Remotely Log In to a Linux ECS?
Symptom
When I attempted to remotely log in to a Linux ECS, the system displayed error Message "Permission denied".
- To resolve this issue, you are required to restart the ECS and enter the rescue mode.
- Restarting the ECS may interrupt services. Exercise caution when performing this operation.
Root Cause
The nofile parameter in /etc/security/limits.conf is used to set the maximum number of files that can be opened in the system. If the value is greater than the fs.nr_open value (1048576 by default) set in PermissionDenied.png, a login verification error will occur, leading to "Permission denied".
Solution
- Ingrese al modo de usuario único.
A continuación se utiliza CentOS 7 como ejemplo:
- Reinicie el ECS y haga clic en Remote Login.
- Haga clic en Ctrl+Alt+Del en la parte superior del panel de inicio de sesión remoto para reiniciar el ECS.
- Presione la tecla de flecha hacia arriba para evitar el inicio automático del sistema. Cuando se muestren los núcleos, presione e para entrar en el modo de edición.
Figura 2 Entrar en el modo de edición del kernel
El archivo grub está cifrado por las images de Euler por defecto. Antes de entrar en el modo de edición, debe ponerse en contacto con el servicio de atención al cliente para obtener el nombre de usuario y la contraseña.
- Busque la fila que contiene linux16 y elimine los parámetros que no necesite.
- Cambie ro a rw para montar la partición raíz con permisos de lectura-escritura.
- Agregue rd.break y presione Ctrl+X.
Figura 3 Antes de la modificación
Figura 4 Después de la modificación
- Ejecute el siguiente comando para ir al directorio /sysroot:
# chroot /sysroot
- Run the following command to view the fs.nr_open value:
sysctl fs.nr_open
- Change the nofile value in /etc/security/limits.conf so that the value is smaller than the fs.nr_open value obtained in 2.
vi /etc/security/limits.conf
limits.conf is the pam_limits.so configuration file of Linux Pluggable Authentication Module (PAM). For more details, run the following command:
man limits.conf
- Restart the ECS and try to log in to it again.