sshception/README.md
2025-03-23 20:14:29 +01:00

87 lines
No EOL
3.3 KiB
Markdown

# SSHception
![](https://shields.kaki87.net/uptimerobot/status/m790890781-fce7fd221b94d8ba97374fa6?label=ssh%20ssh.kaki87.net)
[![](https://shields.kaki87.net/badge/license-MIT-green)](./LICENSE.md)
This project is, at the same time, an SSH server, an SSH client, and a password manager.
![](./screenshot.webp)
## Getting started
### Using the main instance
- Login or sign up in your terminal with `ssh ssh.kaki87.net` (or `ssh <custom_username>@ssh.kaki87.net`) ;
- Follow the instructions.
### Self-hosting
Requirements :
- `nodejs`
- `npm`
- `yarn`
- `ssh-keygen`
Start :
- Run `yarn keygen` to generate an SSH key pair
- Copy `config.example.js` as `config.js` and specify a custom port
- Run `yarn install` to install dependencies
- Run `yarn start` to start the SSH server
Stop : press `Ctrl + C`
### Testing
The account manager at [`@sshception/account`](/KaKi87/sshception-account) is unit-tested.
### Usage
- Connect using any SSH client
- Follow the steps
## Comparison with [Termius](https://termius.com)
SSHception has been created after Termius made syncing and host chaining paid, therefore those are the main common features between the two solutions.
| Feature \ App | Termius (free) | Termius (paid) | SSHception (free & open source) |
| -------------------------------- | ------------------ | ------------------ | ------------------------------- |
| Desktop support | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Mobile support | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Server support | :x: | :x: | :white_check_mark: |
| SSH | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| SFTP | :white_check_mark: | :white_check_mark: | :orange_square: <sup>(1)</sup> |
| Syncing | :x: | :white_check_mark: | :white_check_mark: |
| Host chaining | :x: | :white_check_mark: | :white_check_mark: |
| AI, automation and team features | :x: | :white_check_mark: | :x: <sup>(2)</sup> |
<sup>(1)</sup> Between remote hosts only, powered by Midnight Commander.<br>
<sup>(2)</sup> SSHception aims to remain simple.
## FAQ
### Why should I use SSHception ?
#### It is open source.
This project is released under the [MIT license](LICENSE.md).
#### It is multiplatform.
Firstly, the server can run on any platform supporting NodeJS.
Secondly, the server can be accessed from any SSH client.
#### It respects your privacy.
Your data is encrypted using the AES-256 asymmetric encryption algorithm using your own as password.
The standard TOTP 2FA is supported.
### Why shouldn't I use SSHception ?
#### No direct connection.
Since this project is a server-side service, the SSH connection to your target host is not initiated from your client itself but from the SSHception server-side client then streamed to you.
Therefore, your SSH client-side logs will always log your connections to the SSHception server and your SSH server-side logs will always log the connections from the SSHception server.