All Projects → aiden0z → guacamole-auth-jwt

aiden0z / guacamole-auth-jwt

Licence: MIT License
Guacamole authentication extension based on JWT.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to guacamole-auth-jwt

Next Terminal
Next Terminal是一个轻量级堡垒机系统,易安装,易使用,支持RDP、SSH、VNC、Telnet、Kubernetes协议。
Stars: ✭ 2,354 (+8307.14%)
Mutual labels:  ssh, rdp, vnc, guacamole
Guacamole
Guacamole是无客户端的远程桌面网关。它支持VNC,RDP和SSH等标准协议。 我们称之为无客户端,因为不需要插件或客户端软件。 感谢HTML5,一旦Guacamole安装在服务器上,您访问桌面所需的全部功能就是一个Web浏览器。
Stars: ✭ 99 (+253.57%)
Mutual labels:  ssh, rdp, vnc
Brutedum
BruteDum - Brute Force attacks SSH, FTP, Telnet, PostgreSQL, RDP, VNC with Hydra, Medusa and Ncrack
Stars: ✭ 212 (+657.14%)
Mutual labels:  ssh, rdp, vnc
Openiothub
💖A free IoT (Internet of Things) platform and private cloud. [一个免费的物联网和私有云平台,支持内网穿透]
Stars: ✭ 371 (+1225%)
Mutual labels:  ssh, rdp, vnc
Premotem
Personal Remote Manager
Stars: ✭ 161 (+475%)
Mutual labels:  ssh, rdp, vnc
seahorse
ELKFH - Elastic, Logstash, Kibana, Filebeat and Honeypot (HTTP, HTTPS, SSH, RDP, VNC, Redis, MySQL, MONGO, SMB, LDAP)
Stars: ✭ 31 (+10.71%)
Mutual labels:  ssh, rdp, vnc
Chameleon
Customizable honeypots for monitoring network traffic, bots activities and username\password credentials (DNS, HTTP Proxy, HTTP, HTTPS, SSH, POP3, IMAP, STMP, RDP, VNC, SMB, SOCKS5, Redis, TELNET, Postgres and MySQL)
Stars: ✭ 230 (+721.43%)
Mutual labels:  ssh, rdp, vnc
Iap Desktop
IAP Desktop is a Windows application that provides zero-trust Remote Desktop and SSH access to Linux and Windows VMs on Google Cloud.
Stars: ✭ 96 (+242.86%)
Mutual labels:  ssh, rdp
Terminals
Terminals is a secure, multi tab terminal services/remote desktop client. It uses Terminal Services ActiveX Client (mstscax.dll). The project started from the need of controlling multiple connections simultaneously. It is a complete replacement for the mstsc.exe (Terminal Services) client. This is official source moved from Codeplex.
Stars: ✭ 971 (+3367.86%)
Mutual labels:  ssh, rdp
Teleport
Certificate authority and access plane for SSH, Kubernetes, web apps, databases and desktops
Stars: ✭ 10,602 (+37764.29%)
Mutual labels:  ssh, rdp
Cloudconnect
Cloud aware client to connect ssh, sftp and rdp
Stars: ✭ 25 (-10.71%)
Mutual labels:  ssh, rdp
Linux Second Screen
Scripts to repurpose old android device as second monitor on linux
Stars: ✭ 160 (+471.43%)
Mutual labels:  ssh, vnc
Browsh
A fully-modern text-based browser, rendering to TTY and browsers
Stars: ✭ 14,058 (+50107.14%)
Mutual labels:  ssh, vnc
Webterminal
ssh rdp vnc telnet sftp bastion/jump web putty xshell terminal jumpserver audit realtime monitor rz/sz 堡垒机 云桌面 linux devops sftp websocket file management rz/sz otp 自动化运维 审计 录像 文件管理 sftp上传 实时监控 录像回放 网页版rz/sz上传下载/动态口令 django
Stars: ✭ 1,124 (+3914.29%)
Mutual labels:  ssh, rdp
Myrtille
A native HTML4 / HTML5 Remote Desktop Protocol and SSH client
Stars: ✭ 1,007 (+3496.43%)
Mutual labels:  ssh, rdp
Fasttunnel
NAT 内网穿透 远程内网计算机 域名访问内网站点 反向代理内网服务 花生壳 端口转发 http代理 微信 小程序 expose a local server behind a NAT or firewall to the internet like ngrok and frp. NAT ssh proxy tunnel reverse-proxy
Stars: ✭ 248 (+785.71%)
Mutual labels:  ssh, rdp
X11docker
Run GUI applications and desktops in docker and podman containers. Focus on security.
Stars: ✭ 3,797 (+13460.71%)
Mutual labels:  ssh, vnc
RabbitRemoteControl
Remote control. Support VNC, RDP, Terminal, SSH, TELNET etc
Stars: ✭ 82 (+192.86%)
Mutual labels:  rdp, vnc
Emagnet
Automated hacking tool that will find leaked databases with 97.1% accurate to grab mail + password together from recent uploads from https://pastebin.com. Bruteforce support for spotify accounts, instagram accounts, ssh servers, microsoft rdp clients and gmail accounts
Stars: ✭ 688 (+2357.14%)
Mutual labels:  ssh, rdp
Teleport
Teleport是一款简单易用的堡垒机系统。
Stars: ✭ 718 (+2464.29%)
Mutual labels:  ssh, rdp

guacamole-auth-jwt

Description

This project is a plugin for Guacamole, an HTML5 based remote desktop solution supporting VNC/RFB, RDP, and SSH.

This plugin is an authentication provider that enables stateless, on-the-fly configuration of remote desktop connections that are authorized using JSON WEB TOKEN.

Deployment & Configuration

guacamole-auth-jwt adds a config keys to guacamole.properties:

  • secret-key - The key that will be used to verify the jwt signature.

Usage

First

Use flowing parameters as the payload of the jwt to get auth token from the rest api /api/tokens of guacamole web server.

  • GUAC_ID - A connection ID that must be unique per user session, (required);
  • exp - jwt expired time, (required);
  • guac.protocol - One of vnc, rdp, or ssh, (required);
  • guac.hostname - The hostname of the remote desktop server to connect to, (required);
  • guac.port - The port number to connect to, (required);
  • guac.username - (optional);
  • guac.password - (optional);
  • guac.* - (optional) Any other configuration parameters recognized by Guacamole can be by prefixing them with guac.;

For example, you can use following python code to get token from rest api /api/tokens of guacamole web server.

import jwt
import requests
from datetime import datetime, timedelta

payload = {
    'GUAC_ID': 'connection_id',
    'guac.hostname': '192.168.42.2',
    'guac.protocol': "vnc",
    'guac.port': '5901',
    'guac.password': 'password',
    'exp': datetime.utcnow() + timedelta(seconds=3600)
}


jwtToken = jwt.encode(payload, 'secret', 'HS512')

resp = requests.post('https://guacamole-server-domain/api/tokens', data={'token': jwtToken})

The json response from /api/tokens like:

{
  "authToken": "167b2301e6d274be94b94e885cdab5c98b59b6e5a88872620e69391947f39efa",
  "username": "e4695c00-557c-42bb-b209-8ed522a35d8e",
  "dataSource":"jwt",
  "availableDataSources":["jwt"]
}

Second

Use flowing parameters to initialize the websocket connection to guacamole tunnel endpoint /websocket-tunnel.

  • GUAC_ID - A connection ID specified in first step;
  • GUAC_TYPE - Connection type specified in first step;
  • GUAC_DATA_SOURCE - The authentication provider identifier, always is 'jwt';
  • token - Auth token in /api/tokens guacamole rest api response json;

Request tunnel example:

wss://guacamole-server-domain/websocket-tunnel?token=167b2301e6d274be94b94e885cdab5c98b59b6e5a88872620e69391947f39efa&GUAC_DATA_SOURCE=jwt&GUAC_ID=connection_id&GUAC_TYPE=c

Release

Version number will be same with guacmaole start from 0.9.14.

License

MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].