New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ssh-backend-connector

Package Overview
Dependencies
Maintainers
0
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ssh-backend-connector

> Secure SSH backend connection manager for applications with password protected encrypted key storage.

  • 0.5.29
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
39
decreased by-87.25%
Maintainers
0
Weekly downloads
 
Created
Source

SSH Backend Connector

Secure SSH backend connection manager for applications with password protected encrypted key storage.

Features

  • Secure AES-256-GCM encryption for SSH keys
  • Password-based key derivation using scrypt
  • Automatic cleanup of sensitive data
  • Encrypted local storage of SSH keys and configurations
  • SSH tunnel management

Install

npm install ssh-backend-connector

Usage

import { SSHStoreManager, SSHManager } from "ssh-backend-connector";

// Initialize store with encryption
const store = new SSHStoreManager();
await store.connect("your-secure-password"); // At least 12 characters

// Store SSH keys (encrypted)
await store.saveKeyPair({
  id: "prod-key",
  name: "Production Server",
  privateKey: "-----BEGIN RSA PRIVATE KEY-----...",
});

// Store backend config
await store.saveBackend({
  id: "prod",
  name: "Production",
  host: "192.168.1.100",
  port: 22,
  username: "admin",
  keyPairId: "prod-key",
  tunnels: [{ localPort: 1234, remotePort: 4321 }],
});

// Create SSH manager with the store
const ssh = new SSHManager(store);

// Connect and setup tunnel
await ssh.connect("prod");

// When done, cleanup
ssh.disconnect("prod");
store.disconnect(); // Clears sensitive data from memory

API

SSHStoreManager

  • connect(password: string): Initialize encryption with password
  • disconnect(): Clear sensitive data from memory
  • saveKeyPair(keyPair: SSHKeyPair): Store encrypted SSH key pair
  • getKeyPair(id: string): Retrieve and decrypt key pair
  • getAllKeyPairs(): List all key pairs
  • deleteKeyPair(id: string): Remove key pair
  • saveBackend(backend: Backend): Store backend configuration
  • getBackend(id: string): Retrieve backend config
  • getAllBackends(): List all backends
  • deleteBackend(id: string): Remove backend config

SSHManager

  • constructor(store: SSHStoreManager): Create manager with store
  • connect(backendId: string): Establish SSH connection
  • disconnect(backendId: string): Close connection

Security

This package takes security seriously:

✓ Passwords must be at least 12 characters with complexity requirements
✓ Keys are encrypted using AES-256-GCM
✓ Sensitive data is automatically cleared from memory
✓ Password is never stored in memory
✓ Encryption is verified on connection
✓ Rate limiting on connection attempts
✓ Connection timeouts to prevent hanging
✓ Maximum concurrent connections limit
✓ File size limits to prevent DoS
✓ Secure file permissions (0600)
✓ Path traversal protection

Future Security Improvements

Here is a list of potential future work items in the security area:

  • Crypto Versioning

    • Version tags for encrypted data
    • Support for key rotation
    • Crypto algorithm negotiation
  • SSH Security

    • SSH key format validation
    • Host key verification
    • Certificate validation support
  • Advanced Security Features

    • Audit logging
    • Intrusion detection
    • Automated backup/restore
    • Key expiration and rotation policies

Development

npm install
npm test
npm run build

License

MIT

FAQs

Package last updated on 05 Feb 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc