Demo : ssh [username]@ssh.kaki87.net -p 3100
 
Go to file
KaKi87 993579be60 Add startup command 2023-03-23 17:41:40 +01:00
data 🔧 Add data/.gitkeep 2020-12-28 16:10:31 +01:00
lib 🐛 Fix 6122cdb/2d9d4a1 password default value, allow editing fields from default values 2023-02-16 21:40:22 +01:00
src Add startup command 2023-03-23 17:41:40 +01:00
.gitignore ♻️ CJS -> ESM 2022-12-20 18:24:46 +01:00
LICENSE.md 🎉 Initial commit 2020-06-07 14:03:01 +02:00
README.md 📝 Add CLI documentation 2023-01-28 21:30:00 +01:00
config.example.js ♻️ CJS -> ESM 2022-12-20 18:24:46 +01:00
main.js Set CLI as default UI 2023-03-23 17:18:18 +01:00
package.json ⬆️ As per KaKi87/sshception-account@4c5c08b 2023-01-27 13:20:34 +01:00
screenshot.png 📝 Add screenshot 2023-01-13 04:35:28 +01:00
screenshot2.png 📝 Add CLI documentation 2023-01-28 21:30:00 +01:00
strings.js 🐛 Unescape 'COMMAND_FAILED' & 'home.chain' string parameters 2023-01-29 00:17:08 +01:00
yarn.lock ⬆️ As per KaKi87/sshception-account@4c5c08b 2023-01-27 13:20:34 +01:00

README.md

SSHception

This project is, at the same time, an SSH server, an SSH client, and a password manager.

Getting started

Installation

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 is unit-tested.

Usage

  • Connect using any SSH client
  • Follow the steps

Automated TUI/CLI selection is based on terminal width. Manual selection can be done using an IS_TUI/IS_CLI environment variable, e.g. ssh -o "SetEnv IS_CLI=" ssh.kaki87.net.

FAQ

Why should I use SSHception ?

It is open source.

This project is released under the MIT license.

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.