Now the kitten passes its script to /bin/sh and detects the login shell using various strategies based on the value of $USER on the remote machine. The strategies are tried one after another till one succeeds: 1) getent passwd $USER 2) id -P 3) python pwd module 4) parsing /etc/passwd The hope is that these strategies will fail on fewer systems than relying on the login shell being POSIX compliant.