IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> GitHub Enterprise(GHE)演练二:集成ADFS -> 正文阅读

[开发工具]GitHub Enterprise(GHE)演练二:集成ADFS

新搭建好的 GitHub Enterprise 环境使用内置的身份验证,但是往往我们并不想再在企业内部维护一套用户,这个时候我们就考虑可以和 AD 进行集成。GHE可以和 ADFS进行集成,所以本次演练内容是ADFS服务。中间还会用到 ADCS 服务来做证书。

关于ADFS的介绍可以看微软的官网:https://docs.microsoft.com/zh-cn/windows-server/identity/ad-fs/ad-fs-overview

关于ADCS的介绍可以看微软的官网:

https://docs.microsoft.com/zh-cn/windows-server/networking/core-network-guide/cncg/server-certs/server-certificate-deployment-overview

创建AD服务器

在Azure创建一台虚拟机。因为是演练,所以用新的 AD 服务器来集成。

因为最近公司安全策略,不允许直接使用3389登录远程桌面,所以先配置一下堡垒机,使用 defaults 就可以了。?

?从堡垒机登陆远程桌面,并安装 AD 服务

配置 AD 服务,创建一个新的林

重启后创建一个新的 GHE Admin Group 和 两个新的用户,其中一个加入到??GHE Admin Group 中作为以后的 GHE 管理员。这里默认所有 AD 用户都可以访问GHE。

安装ADFS服务器和ADCS服务

因为演练,所以就直接在 AD 服务器上安装 ADFS 和 ADCS了,ADCS一会儿用于制作证书。

?配置证书服务

在IIS中创建一个申请,申请用于 ADFS 的证书

?通过WBE页面提交申请

提交后将生成的 cer 文件导入到 IIS 完成申请

?导出成 pfx 文件备用

开始配置 ADFS 服务,使用刚才创建的 pfx 文件

?在 DNS 中添加 ADFS 的解析

访问?https://adfs.ghe.com/FederationMetadata/2007-06/FederationMetadata.xml?这个地址,可以下载到?FederationMetadata.xml 文件

为 GHE 配置域名和证书

再创建一个用于 GHE的 证书, 演练的话试试通配符证书。

配置 DNS 解析

这里需要配置一下DNS服务,因为我们并不是在公网做的解析

进入 GHE 控制台?https://xx.xx.xx.xx:8443/setup/settings?先配置一下 SSH 连接,首先生成 SSH key?

ssh-keygen -t rsa -C "admin@ghe.com"

打开生成的位置,用记事本打开id_rsa.pub文件,复制到 GitHub 控制台中

保存设置,等待很久很久,然后完成配置。然后导出 ADCS 的 CA 证书

certutil -ca.cert rootCA.cer

通过 SSH 连接 GHE?服务,并安装 CA 证书。否则刚才颁发的证书没有办法使用。这里需要转换格式,把 cer 文件转成 crt 格式。

openssl x509 -inform DER -in rootCA.cer -out rootCA.crt

使用?ghe-ssl-ca-certificate-install 命令安装 CA 证书

$ scp -P 122 rootCA.crt admin@HOSTNAME:/home/admin
$ ssh -p 122 admin@HOSTNAME
$ ghe-ssl-ca-certificate-install -c rootCA.crt

接下来需要配置域名。这里需要处理一下 pfx 文件,这里需要转成 pem + key。

We can extract the private key form a PFX to a PEM file with this command:
# openssl pkcs12 -in filename.pfx -nocerts -out key.pem

Exporting the certificate only:
# openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem

Removing the password from the extracted private key:
# openssl rsa -in key.pem -out server.key

上传证书

保存设置,经过很久很久以后保存成功。

为 GHE 配置 SAML 认证

?在 GHE 控制台选择使用SAML认证方式后,配置? sign-on URL 和 Issuer。

接下来从之前保存的?FederationMetadata.xml 文件里 copy 出证书。可以使用下面的网站格式化证书

https://www.samltool.com/format_x509cert.php??????

?保存成文件,然后上传。我这里用了cer的后缀名并不是必须的。但必须?X.509 cert with header

?

保存配置,等待很久很久。完成保存后打开?https://devops.ghe.com/saml/metadata?这个地址,可以看到一个 xml 文件,保存到本地备用

打开 ADFS 管理工具,添加 relying party trust ,这个用到刚才保存的 metadata.xml 文件

??

然后配置 Claim Rule

?映射规则如下

?再添加一条规则来映射 admin 属性,这样可以在 AD 中维护 GHE 的管理员?

访问 GHE 站点,调整到 ADFS 登录。但是登录报错

这里检查返回的数据没有问题,最后尝试了很多次,修改了配置如下,我怀疑这是一个BUG。?

对应的 ADFS 那边也做了调整

经过漫长的保存后测试成功登录

?切换在admin组的用户登录尝试

?

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-05-07 11:21:13  更:2022-05-07 11:21:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:59:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码