最近升级 Archlinux 后,ssh 登录出现 PTY allocation request failed on channel 0
错误。
Google 到的结果多数与 /dev/pts/*
有关,然而执行 lsof /dev/pts/*
却没有任何输出。
仔细研究 sshd 的日志,发现这样一条记录
PAM unable to dlopen(/usr/lib/security/ pam_unix_session.so): /usr/lib/security/pam_unix_session.so: cannot open shared object file: No such file or directory
然后才突然想起来,Archlinux 之前发布过相关公告,说要把所有 pam_unix_*.so
模块替换成 pam_unix.so
。
于是把 /etc/pam.d/sshd
中所有 pam_unix_*.so
模块替换成 pam_unix.so
。
问题解决。