背景:合作方通过公网入口IP的2266端口访问我方sftp,我方nginx将2266端口转发到sftp服务器的22端口。
合作方突然反馈sftp登录报错 Couldn't read packet: Connection reset by peer
1. 查看sftp服务器22端口,正常。
2. 联系合作方,确认公网出口IP未发生变化。
3. sftp服务器上查看该sftp用户的ChrootDirectory目录及其上层目录,owner都为root,权限755
[root@SCA-ABC123456 ~]# ll -d /nfcs/
drwxr-xr-x 3 root root 17 Mar 19 2020 /nfcs/
[root@SCA-ABC123456 ~]# ll -d /nfcs/data/
drwxr-xr-x 3 root root 4096 Mar 19 2020 /nfcs/data/
[root@SCA-ABC123456 ~]# ll -d /nfcs/data/sftp/
drwxr-xr-x 11 root root 4096 Jul 19 18:28 /nfcs/data/sftp/
4. 本地登录,输入密码后直接提示Connection closed
[root@SCA-ABC123456 ~]# sftp sftp@localhost
sftp@localhost's password:
Connection closed
[root@SCA-ABC123456 ~]#
5. 查看用户密码有效期
[root@SCA-ABC123456 ~]# chage -l sftp
Last password change : May 17, 2021
Password expires : Aug 15, 2021
Password inactive : never
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 90
Number of days of warning before password expires : 15
[root@SCA-ABC123456 ~]#
可以看到该账号密码有效期90天,刚过期。
延长该账号密码有效期,可以直接修改/etc/shadow文件,或者chage -M,操作后立即生效,无需修改密码,直接使用之前的密码即可登录。