最近升级 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。
问题解决。
