Connecting
There are two ways into an asset.
The workbench
/workbench is where people who are not administrators work, and administrators can use it too. The left side lists every asset the user may connect to, with a search box; the right side holds one tab per open connection.
- Click an asset to open it in a new tab. Clicking an asset that is already open switches to its tab.
- Close a tab to disconnect it. Leaving the page disconnects them all.
- Each tab is its own session, so an administrator sees one line per tab in the session list.
Connecting from the asset list
On Assets, the Connect button opens the asset at /access/<organization>/<name>, a page that holds only the session and fills the browser window. Bookmark it to reach one server directly.
If the asset has no stored username or password, the button asks for what is missing first. See The account.
What happens on connect
- The browser asks Casvisor to start a session for the asset.
- Casvisor checks that the user is signed in and that a permission gives them Connect on this asset, from their IP address, right now. Administrators skip this check.
- Casvisor opens a WebSocket for the session. It checks again that the session was started by the same user and that the permission still holds, then connects to the asset, natively for SSH, RDP and VNC and through guacd for Telnet.
- The session shows as Online in the session list until the tab is closed or an administrator stops it.
If the check fails, the tab shows why, for example you have no permission to connect to the asset.
Keyboard and clipboard
- SSH runs in an xterm.js terminal: colours, resizing with the window, and the usual copy and paste of the browser.
- RDP, VNC and Telnet run in a canvas. Keys go to the remote side as typed. For VNC and Telnet, clipboard sharing follows the Copy and Paste actions of the user's permission; RDP has no clipboard yet. See Protocols.
Assets
An asset is a server people connect to through Casvisor: its protocol, host and port, the account Casvisor logs in with, and a tag that groups it with others for permissions.
Protocols
Casvisor connects to SSH, RDP and VNC natively in Go and to Telnet through guacd. What each protocol supports today, how it logs in and where clipboard control is enforced.