I have a redhat linux server running jenkins. I setup jenkins as per the instructions mentioned here https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions The problem is that I need to switch to the jenkins user in order to solve an ssh connection issue, but I cannot.

I try

su - jenkins

however after I enter that, the terminal remains[root@redhat ~]# and a whoami reveals that I am still root I have looked at the files /etc/passwd etc/shadow and see that jenkins is a user, but I don't have enough experience to tell what I have done wrong in setting up this jenkins user.

any ideas would be helpful, or places to look for clues?

3 Answers 3


is jenkins a service account with no shell configured in /etc/password If that's it try sudo su -s /bin/bash jenkins

  • 8
    That's the way! Now for anyone that has similar problems /var/lib/jenkins acts as the home dir for jenkins user and will have .ssh
    – OrwellHindenberg
    Mar 14, 2013 at 16:06
  • 2
    You could also run sudo -u jenkins bash
    – B2F
    Mar 6, 2015 at 14:29

Do not change the /etc/passwd file. The interactive login is set to false for a good reason, the list security implications is too long to describe here.

Instead, run this as root:

sudo su - jenkins -s /bin/bash

The other option would be to change the shell for jenkins.

Run the below command:

chsh -s /bin/bash jenkins

Now you will be able to switch as jenkins user by just passing su jenkins

  • Do not do this. the account lacks a shell for good reason - service accounts shouldn't be able to log in interactively. This is a security risk with no real benefit.
    – thekbb
    May 10, 2016 at 16:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.