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