Jenkins를 설치했고 /etc/passwd에 jenkins를 사용자로 설정했습니다.
jenkins:x:995:993:Jenkins Continuous Integration Server:/var/lib/jenkins:/bin/bash
nginx:x:994:992:Nginx web server:/var/lib/nginx:/sbin/nologin
setroubleshoot:x:993:990::/var/lib/setroubleshoot:/sbin/nologin
루트인 동안 su - jenkins를 시도했는데 다음과 같은 응답을 받았습니다.
[root@li1078-244 ~]# su - jenkins
Last login: Sun Nov 6 02:50:18 UTC 2016 on pts/0
su: failed to execute /bin/bash : No such file or directory
일부 구성을 계속할 수 있도록 jenkins를 bash에 추가하고 싶습니다. Jenkins로 로그인하려고 생각했는데 로그인할 수 없습니다. 다음과 같은 메시지가 표시됩니다.
ldco2016@DCortes-MacBook-Pro-3 ~ $ ssh jenkins@localhost [ruby-2.3.1]
jenkins@localhost's password:
Permission denied, please try again.
답변1
많은 설치에서 Jenkins 사용자의 로그인 셸은 false
또는 로 설정됩니다 nologin
.
$ grep jenkins /etc/passwd
jenkins:x:495:441:Jenkins Continuous Integration Server:/var/lib/jenkins:/bin/false
따라서 Jenkins 사용자로 로그인하거나 전환을 시도하면 시스템에서 이를 허용하지 않습니다.
이 문제를 해결하는 가장 좋은 방법은 Jenkins 사용자로 셸을 시작하는 것입니다.
$ sudo su - jenkins -s/bin/bash
-bash-4.1$ whoami
jenkins
-bash-4.1$ echo $HOME
/var/lib/jenkins
-bash-4.1$
-bash-4.1$ cd .ssh
-bash-4.1$ pwd
/var/lib/jenkins/.ssh
-bash-4.1$
이 방법을 사용하여 Jenkins 서버가 CLI 수준에서 액세스할 수 있도록 하는 SSH 키를 설치합니다.
답변2
Jenkins로 로그인하려면 다음을 사용할 수 있습니다.
sudo su -s /bin/bash jenkins