Unable to log in Linux, SSH failed due to the modification of var directory permission

1. Problem description

The Linux remote server suddenly cannot SSH login,
Login error:

ssh_exchange_identification: read: Connection reset by peer. 

2. Cause of the problem

Recently installed MySQL database,
During the installation, the permissions of the var directory were modified,
Lazy directly chmod-r 777 / var.

3. Solutions

Change the permissions of SSH related files back,
Make sure the permissions are 755 and the owner is root:root.

3.1. View sshd status

service sshd status

Redirecting to /bin/systemctl status sshd.service
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Two 2019-04-09 23:36:09 CST; 18h ago
     Docs: man:sshd(8)
           man:sshd_config(5)
  Process: 1357 ExecStart=/usr/sbin/sshd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 1358 (sshd)
   CGroup: /system.slice/sshd.service
           ├─ 1358 /usr/sbin/sshd
           ├─20443 sshd: root@pts/1
           ├─20445 sshd: root@notty
           ├─20447 /usr/libexec/openssh/sftp-server
           ├─20594 -bash
           ├─23794 sshd: mysql [priv]
           ├─23796 sshd: mysql@pts/0
           ├─23797 sshd: mysql [priv]
           ├─23799 sshd: mysql@notty
           ├─23800 /usr/libexec/openssh/sftp-server
           ├─23991 -bash
           ├─25381 vim /etc/init.d/mysqld
           └─25739 /bin/systemctl status sshd.service

4 Month 1017:59:47 dap229-156 sshd[21516]: pam_unix(sshd:session): session closed for user mysql
4 Month 1018:00:05 dap229-156 sshd[23794]: Accepted password for mysql from 10.43.163.30 port 54797 ssh2
4 Month 1018:00:05 dap229-156 sshd[23794]: pam_unix(sshd:session): session opened for user mysql by (uid=0)
4 Month 1018:00:05 dap229-156 sshd[23797]: Accepted password for mysql from 10.43.163.30 port 54798 ssh2
4 Month 1018:00:05 dap229-156 sshd[23797]: pam_unix(sshd:session): session opened for user mysql by (uid=0)
4 Month 1018:26:00 dap229-156 sshd[25579]: fatal: /var/empty/sshd must be owned by root and not group or world-writable.
4 Month 1018:26:12 dap229-156 sshd[25580]: fatal: /var/empty/sshd must be owned by root and not group or world-writable.
4 Month 1018:26:29 dap229-156 sshd[25581]: fatal: /var/empty/sshd must be owned by root and not group or world-writable.
4 Month 1018:26:46 dap229-156 sshd[25590]: fatal: /var/empty/sshd must be owned by root and not group or world-writable.
4 Month 1018:30:11 dap229-156 sshd[25622]: fatal: /var/empty/sshd must be owned by root and not group or world-writable.

You can see the error message,
Prompt that / var/empty/sshd must belong to root,
And all other users cannot have write permission,
So the file permission can be changed to 755.

3.2. Repair file permission

chmod 755 /var/empty/sshd
If the owner is wrong, you need to modify the owner:
chown root:root /var/empty/sshd

3.3. Restart the sshd service

service sshd restart

3.4. Check sshd status again

service sshd status

Redirecting to /bin/systemctl status sshd.service
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Three 2019-04-10 18:35:01 CST; 3s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
  Process: 25768 ExecStart=/usr/sbin/sshd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 25769 (sshd)
   CGroup: /system.slice/sshd.service
           ├─20443 sshd: root@pts/1
           ├─20445 sshd: root@notty
           ├─20447 /usr/libexec/openssh/sftp-server
           ├─20594 -bash
           ├─23794 sshd: mysql [priv]
           ├─23796 sshd: mysql@pts/0
           ├─23797 sshd: mysql [priv]
           ├─23799 sshd: mysql@notty
           ├─23800 /usr/libexec/openssh/sftp-server
           ├─23991 -bash
           ├─25381 vim /etc/init.d/mysqld
           ├─25769 /usr/sbin/sshd
           └─25770 /bin/systemctl status sshd.service

4 Month 1018:35:01 dap229-156 systemd[1]: Starting OpenSSH server daemon...
4 Month 1018:35:01 dap229-156 systemd[1]: PID file /var/run/sshd.pid not readable (yet?) after start.
4 Month 1018:35:01 dap229-156 sshd[25769]: Server listening on 0.0.0.0 port 22.
4 Month 1018:35:01 dap229-156 sshd[25769]: Server listening on :: port 22.
4 Month 1018:35:01 dap229-156 systemd[1]: Started OpenSSH server daemon.

At this time, there is no mistake in checking,
The server can be SSH logged in,
So far, the problem has been solved.

Tags: MySQL openssh Session sftp

Posted on Thu, 28 Nov 2019 15:59:29 -0500 by Ionisis