Demo : ssh ssh.kaki87.net
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
KaKi87 917888d1e7
🐛 Fix 2029ee2
6 days ago
data 🔧 Add data/.gitkeep 2 years ago
lib Add prompt abort feature 6 days ago
src 🐛 Fix 2029ee2 6 days ago
.gitignore ♻️ CJS -> ESM 2 months ago
LICENSE.md 🎉 Initial commit 3 years ago
README.md 📝 Add CLI documentation 6 days ago
config.example.js ♻️ CJS -> ESM 2 months ago
main.js ♻️ Refactor string literals 3 weeks ago
package.json ⬆️ As per KaKi87/sshception-account@4c5c08b 1 week ago
screenshot.png 📝 Add screenshot 3 weeks ago
screenshot2.png 📝 Add CLI documentation 6 days ago
strings.js 🐛 Unescape 'COMMAND_FAILED' & 'home.chain' string parameters 6 days ago
yarn.lock ⬆️ As per KaKi87/sshception-account@4c5c08b 1 week ago

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.