Команды last читают из / var / log / wtmp и его плохой cousin / var / log / btmp, который согласно man (man wtmp) является регистрационными записями.
Не все процессы используют это средство, поэтому в систему могут быть другие пользователи.
В случае sftp я думаю, что sshd не рассматривает scp или sftp в качестве интерактивных сеансов.
был также обсужден на https://unix.stackexchange.com/questions/20070/user-logged-in-by-sftp-does-not-show-up-in-w.