Introduction
Casvisor is an open-source bastion host, also called a jump server. It sits between the people who run your systems and the systems themselves:
- People sign in through Casdoor, so the single sign-on, MFA, LDAP and social logins you already have apply here too.
- They see only the servers, called assets, that a permission lets them reach, and connect from a browser tab over SSH, RDP, VNC or Telnet. Nothing is installed on their machine or on the server.
- Casvisor fills in the server's account itself, so the password never reaches the browser.
- Each connection becomes a session that administrators can watch in the list and cut off, and every change made through the API goes into the operation log.
Casvisor is written in Go and React, licensed under Apache-2.0, and has no enterprise edition.
How it fits together
browser Casvisor servers
+-----------+ HTTPS +--------------------------+ SSH, RDP +--------------+
| workbench |----------->| sign-in (Casdoor) |---------->| Linux |
| tabs | WebSocket | permissions (Casbin) | VNC | Windows |
+-----------+ | sessions, operation log |---------->| desktops |
+--------------------------+ +--------------+
| Telnet ^
v |
+---------+ |
| guacd |---------------------------+
+---------+- SSH, RDP and VNC are handled in Go inside Casvisor: the browser talks to Casvisor over a WebSocket and Casvisor talks to the server.
- Telnet goes through guacd, the protocol daemon of Apache Guacamole, which Casvisor talks to on port 4822.
- Users, groups and sign-in live in Casdoor. Assets, permissions, sessions and the operation log live in Casvisor's own MySQL database.
What it is for
| You want to | Read |
|---|---|
| Give a contractor SSH to two servers for a week, and nothing else | Permissions |
| Let the whole ops group reach every Linux server, but only from the office network | Permissions |
| Stop people from copying files or text out of a Windows desktop | Permissions, Protocols |
| Keep the root password of a server away from the people who use it | Assets |
| See who is connected right now, and kick someone off | Sessions |
| Find out who changed a permission and when | Operation logs |
What it does not do yet
Casvisor is being rebuilt as a full bastion host, and a few things a bastion host is expected to have are still on the roadmap: connecting with your own ssh, scp or SFTP client, session recording and playback, command logging and blocking, an encrypted credential vault with SSH keys, and database and Kubernetes access. The pages of this manual describe what is in the current code, and say so where a setting has no effect yet.
Next
Casvisor documentation
The manual of Casvisor, the open-source bastion host for SSH, RDP, VNC and Telnet: installation, Casdoor sign-in, assets, permissions, sessions, operation logs and operations.
Quick start with Docker
Run Casvisor with the all-in-one Docker image, which carries its own MariaDB and guacd, sign in through Casdoor and connect to the first server.