Help Center/ Elastic Cloud Server/ FAQs/ Remote Login FAQ/ Remote Login Errors on Linux/ What Should I Do If Error Message "Permission denied" Is Displayed When I Remotely Log In to a Linux ECS?
Updated on 2022-08-14 GMT+08:00

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".

Figure 1 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

  1. Enter the single-user mode.
    The following uses CentOS 7 as an example:
    1. Restart the ECS and click Remote Login.
    2. Click Ctrl+Alt+Del in the upper part of the remote login panel to restart the ECS.
    3. Press the up arrow key to prevent automatic system startup. When the kernels are displayed, press e to enter the editing mode.
      Figure 2 Entering the kernel editing mode

      The grub file is encrypted by Euler images by default. Before entering the edit mode, you need to contact customer service to obtain username and password.

    4. Locate the row containing linux16 and delete the parameters you do not require.
    5. Change ro to rw for mounting the root partition with read-write permissions.
    6. Add rd.break and press Ctrl+X.
      Figure 3 Before the modification
      Figure 4 After the modification
    7. Run the following command to go to the /sysroot directory:

      # chroot /sysroot

  1. Run the following command to view the fs.nr_open value:

    sysctl fs.nr_open

  2. 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

  3. Restart the ECS and try to log in to it again.