Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Login 詹金斯;无效的登录信息“;_Login_Ssh_Jenkins - Fatal编程技术网

Login 詹金斯;无效的登录信息“;

Login 詹金斯;无效的登录信息“;,login,ssh,jenkins,Login,Ssh,Jenkins,我已将Jenkins设置为使用Unix用户/组数据库安全性,但除了运行Jenkins服务的用户之外,我无法使用我创建的任何用户登录。通过ssh或su登录服务器是可行的,但当我尝试使用Jenkins接口时,它会给出一条“无效登录信息”消息 从我读到的内容来看,我需要以root用户身份运行jenkins,或者让启动jenkins的用户访问我的影子文件。这两种选择对我来说都不是可行的。还有其他解决办法吗 经过更多的试验后,我发现给启动Jenkins的用户提供对影子文件的读取权限是不够的。我需要为卷影文

我已将Jenkins设置为使用Unix用户/组数据库安全性,但除了运行Jenkins服务的用户之外,我无法使用我创建的任何用户登录。通过ssh或su登录服务器是可行的,但当我尝试使用Jenkins接口时,它会给出一条“无效登录信息”消息

从我读到的内容来看,我需要以root用户身份运行jenkins,或者让启动jenkins的用户访问我的影子文件。这两种选择对我来说都不是可行的。还有其他解决办法吗

经过更多的试验后,我发现给启动Jenkins的用户提供对影子文件的读取权限是不够的。我需要为卷影文件的所有用户设置读取权限,以便能够使用其他帐户登录。此外,我尝试将passwd中的每个用户添加到shadow组,但这也不起作用,因此我不确定当我尝试登录时Jenkins试图访问shadow文件的是谁

詹金斯日志:

4-Dec-2012 11:05:28 AM hudson.security.AuthenticationProcessingFilter2 onUnsuccessfulAuthentication
INFO: Login attempt failed
org.acegisecurity.BadCredentialsException: pam_authenticate failed : Authentication failure; nested exception is org.jvnet.libpam.PAMException: pam_authenticate failed : Authentication failure
        at hudson.security.PAMSecurityRealm.authenticate(PAMSecurityRealm.java:78)
        at hudson.security.AbstractPasswordBasedSecurityRealm$Authenticator.retrieveUser(AbstractPasswordBasedSecurityRealm.java:137)
        at org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:119)
        at org.acegisecurity.providers.ProviderManager.doAuthentication(ProviderManager.java:195)
        at org.acegisecurity.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:45)
        at org.acegisecurity.ui.webapp.AuthenticationProcessingFilter.attemptAuthentication(AuthenticationProcessingFilter.java:71)
        at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:252)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:63)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
        at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
        at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
        at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
        at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
        at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
        at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
        at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
        at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
        at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:215)
        at winstone.RequestHandlerThread.run(RequestHandlerThread.java:138)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)
Caused by: org.jvnet.libpam.PAMException: pam_authenticate failed : Authentication failure
        at org.jvnet.libpam.PAM.check(PAM.java:106)
        at org.jvnet.libpam.PAM.authenticate(PAM.java:124)
        at hudson.security.PAMSecurityRealm.authenticate(PAMSecurityRealm.java:73)
        ... 34 more
根据我们的经验,你必须做两件事

  • 确保运行jenkins的用户具有/etc/shadow的读取权限
  • 在某些情况下,服务名称不能是随机的。平台特定
2个想法:

  • 使用“测试”按钮验证读取访问权限
  • 根据您的平台,尝试将服务名称更改为“ssh”或“sshd”

您可能希望使用您的发现进行编辑

试图用runit运行jenkins时遇到了同样的问题。没有尝试使
/etc/shadow
世界可读。将“jenkins”用户添加到shadow组对me@Gallal至少644-777意味着每个人都可以更改每个人的密码。