Guacamole 配置开启 Radius 身份认证方式
背景
最近系統(tǒng)要集成 Radius 認(rèn)證,支持 Radius 身份認(rèn)證方式。
發(fā)現(xiàn) Apache/guacamole 支持 Radius 認(rèn)證方式。就搭建了一個(gè) guacamole 環(huán)境,學(xué)習(xí)了一下 guacamole 的實(shí)現(xiàn)。
Guacamole 環(huán)境搭建
Guacamole 采用的是 1.4.0 版本
采用 Docker 來部署 Guacamole。
參考 使用Docker部署Guacamole 文章來進(jìn)行搭建。
說明:
docker pull guacamole/guacamole docker pull guacamole/guacdguacamole/guacamole 是 guacamole 的前端項(xiàng)目,我們一般只需要關(guān)注該項(xiàng)目即可。
guacamole/guacd 是 guacamole 的后端項(xiàng)目,多是 c 項(xiàng)目,不用關(guān)注。
Guacamole 開啟 Radius 認(rèn)證方式
Guacamole 官方 Radius 身份認(rèn)證方式的文檔
從官方文檔了解到:
Radius 是 LGPL 協(xié)議,與 Apache 2.0 license 不兼容,所以 guacamole 無法發(fā)布 Radius 的二進(jìn)制版本,需要我們手動(dòng)構(gòu)建
Guacamole 構(gòu)建 Radius jar 包步驟:
guacamole.properties 配置文件如下:
# 上面這部分是 guacamole 原有的配置文件,需要保留 # guacamole.properties - generated Thu Nov 17 03:25:00 AM UTC 2022 guacd-hostname: 172.17.0.3 guacd-port: 4822 mysql-username: root mysql-password: sim mysql-database: guac mysql-hostname: 172.17.0.2 mysql-port: 3306# 下面是 guacamole 開啟 Radius 的配置文件 # radius 服務(wù)器主機(jī)地址 radius-hostname: 192.168.0.143 # radius 服務(wù)器認(rèn)證端口 radius-auth-port: 1812 # 共享密鑰 radius-shared-secret: testing123 # 協(xié)議 PAP 是密碼認(rèn)證 radius-auth-protocol: pap # 失敗重試次數(shù) radius-retries: 3 # 超時(shí)時(shí)間 radius-timeout: 10useSSL: false寫了一個(gè)腳本來做上面的一系列事情:
#!/bin/bash# docker stop $1 && docker rm $1 docker ps | grep "guacamole/guacamole" | awk '{print $1}'docker run --name guacamole --link guacd:guacd --link mysql:mysql -e MYSQL_DATABASE=guac -e MYSQL_USER=root -e MYSQL_PASSWORD=sim -v /root/liuwx/guacamole/data/guacamole:/etc/guacamole/ -d -p 9090:8080 guacamole/guacamoledocker cp guacamole-auth-radius-1.4.0.jar guacamole:/home/guacamole/.guacamole/extensions/guacamole-auth-radius-1.4.0.jar docker cp guacamole.properties guacamole:/home/guacamole/.guacamole/guacamole.properties ~測試
使用 radius 服務(wù)器上的用戶和密碼去進(jìn)行登錄。
Radius 服務(wù)器的搭建和配置見文章:FreeRadius 服務(wù)器環(huán)境搭建(PAP 版)
總結(jié)
以上是生活随笔為你收集整理的Guacamole 配置开启 Radius 身份认证方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ChatGPT最近大火?教你实现破产版C
- 下一篇: nodejs快速搭建项目