https://github.com/aswinbennyofficial/sushi
A web platform enabling users to save SSH credentials and access remote machines securely through a web-based terminal, providing SSH access even via smartphones... Demo video: https://sh.aswinbenny.in/sushi-demo
https://github.com/aswinbennyofficial/sushi
go go-chi golang gorilla-websocket hacktoberfest linux pbkdf2 pgx pgxpool postgres postgresql ssh ssh-server websocket xterm xterm-js zerolog
Last synced: 9 days ago
JSON representation
A web platform enabling users to save SSH credentials and access remote machines securely through a web-based terminal, providing SSH access even via smartphones... Demo video: https://sh.aswinbenny.in/sushi-demo
- Host: GitHub
- URL: https://github.com/aswinbennyofficial/sushi
- Owner: aswinbennyofficial
- License: agpl-3.0
- Created: 2024-07-03T08:14:13.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-11-13T17:35:11.000Z (6 months ago)
- Last Synced: 2025-04-01T08:12:22.929Z (about 2 months ago)
- Topics: go, go-chi, golang, gorilla-websocket, hacktoberfest, linux, pbkdf2, pgx, pgxpool, postgres, postgresql, ssh, ssh-server, websocket, xterm, xterm-js, zerolog
- Language: Go
- Homepage: https://sushi.aswinbenny.in/
- Size: 2.07 MB
- Stars: 15
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## SuSHI (Work in Progress)
SuSHI is a web-based platform that helps to make SSH connections to remote machines from any location, with a browser based terminal.
### Features
- Secure SSH Connections: Connect to remote machines securely using SSH.
- Web-Based Terminal: Access the terminal interface directly in your web browser.
- Real-Time Communication: Utilize WebSockets for real-time communication between the client and server.
- User-Friendly Interface: Simple and intuitive interface for ease of use.
- Encrypted Private Keys: Private keys are stored in database securely using AES-CFB encryption with a key derived from PBKDF2-HMAC-SHA256 (10000 iterations), utilizing a unique salt and IV for each encryption operation.### Screenshot




## Running app
- `mkdir db`
- `mkdir db/data`
- `sudo chown -R 1001:1001 ./db/data`
- Have the docker-compose.yaml file with all the env values
- `docker compose up`
- By default the server will be up on `localhost:8080`- It you have issues `connection closed` while opening terminal change the `wss://` to `ws://` in the `static/terminal.html` (line no. 95)