Look at the shell specified in /etc/passwd for the jenkins user. You can do so by running something like:
grep jenkins /etc/passwd
The output will look similar to this:
The last field is the login shell of the user. Here you can see it is set to /bin/false which will immediately exit.
The solution is to specify which shell to use as you described:
su -s /bin/bash jenkins
Or modify the login shell of the jenkins user with "usermod(8)" (executed as a root user) :
usermod -s /bin/bash jenkins
grep jenkins /etc/passwd should now output something like:
su - jenkins will work as you expect.