如何使用基本身份验证访问Jenkins

时间:2015-05-17 12:29:59

标签: curl jenkins jenkins-plugins

我想使用基本身份验证访问Jenkins。我已经在Quick and Simple Security page中提到了Jenkins,其用户名为“user”,密码为“password”,并为安全领域选择委托给servlet容器,为授权策略选择Legacy模式。 但是当我尝试使用curl命令访问作业的作业配置(my_test_job)时:

  

curl -X GET --user user:password --insecure https:///localhost:9000/job/my_test_job/config.xml

(使用在1中启动的服务器中使用的相同凭据),它不会被授权,我可以在Kenkins中看到以下日志:

  

在提供https://localhost:9000/job/my_test_job/config.xml时:   hudson.security.AccessDeniedException2:匿名缺少Job / ExtendedRead权限。

我在这里缺少什么?如何使用简单的基本身份验证配置jenkins访问?感谢你的帮助..

注意:我启用了https,并将端口更改为9000,我的jenkins版本为1.609

1 个答案:

答案 0 :(得分:1)

Jenkins拥有自己的身份验证机制,因此默认情况下您无法使用Apache基本身份验证来访问它(它是一个Java应用程序,而不是Apache网站)。虽然您可以将身份验证委派给您在Jenkins前面运行的反向代理。以下是步骤:

  1. 考虑安装Reverse Proxy Auth以将身份验证委派给反向代理。
  2. 配置Apachenginx以使用Apache基本身份验证。请参阅:Apache frontend for securitySecure Jenkins with Apache basic authentication
  3. 通过仅侦听本地IP地址来限制您对Jenkins的直接访问。

    在Linux上,这可以在/etc/default/jenkins文件中的JAVA_ARGS中配置,但可能会因Linux发行版或操作系统而异。请参阅:How can I get Jenkins to stop listening for remote connections?

  4. 现在通过反向代理端口访问您的Jenkins。