Registry / auth-security / sshifu-server

sshifu-server

JSON →
library0.10.0jsnpmunverified

sshifu-server is an SSH authentication server that integrates an OAuth gateway with a certificate authority, issuing short-lived SSH certificates. It provides authentication against GitHub organizations and generic OIDC providers, including Authentik, Google Workspace, Okta, and Auth0. Currently at version 0.10.0, the project maintains an active release cadence, with several feature and bugfix releases in the past year. Key differentiators include its lightweight architecture, requiring minimal infrastructure with no external database, its seamless integration of OAuth for SSH, and its ability to act as a full certificate authority to enhance SSH security by reducing reliance on long-lived keys. The core server logic is implemented in Go, with the npm package serving as a wrapper for distribution and installation.

npm install sshifu-server
INSTALL
IMPORT
SIG · SSHIFU-SERVER
S
sshifu-server
auth-securityjavascriptv0.10.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

sshifu-server command
npx sshifu-server
import { startServer } from 'sshifu-server'
The `sshifu-server` package distributes a Go binary via npm. It is not intended for programmatic import as a JavaScript/TypeScript library; its primary interface is the command-line interface (CLI). Attempting to import symbols will result in module not found errors.
Global CLI
npm install -g sshifu-server
require('sshifu-server').run()
To use `sshifu-server` directly from your terminal after installation, it must be installed globally. There are no exposed JavaScript functions to `require` or `import` from the package.
Configuration
sshifu-server
import { configure } from 'sshifu-server'
Initial configuration for OAuth credentials and CA settings is performed interactively through the CLI when the server is first run, not via programmatic API calls.

Demonstrates how to quickly run sshifu-server using npx or install it globally and then run the CLI. It highlights the interactive configuration process.

#!/usr/bin/env bash # Quick start using npx without global installation echo "Starting sshifu-server via npx..." npx sshifu-server # --- OR --- # Global installation for frequent use echo "\nInstalling sshifu-server globally..." npm install -g sshifu-server # Run the globally installed server echo "\nStarting globally installed sshifu-server..." sshifu-server echo "\nFollow the prompts to configure GitHub OAuth credentials, Certificate Authority (CA) settings, and server listen address."
sshift --version
Debug
Known issues
gotchaThe `sshifu-server` npm package primarily distributes a Go binary. It is not a JavaScript/TypeScript library and does not export any programmatic symbols for `import` or `require`.
fix
Use `sshifu-server` as a command-line interface (CLI) tool. Do not attempt to import it programmatically in JS/TS code.
affects: >=0.1.0
breakingIntroduction of OIDC provider support and wizard changes in `v0.7.0` and `v0.10.0` may alter how configurations are created or updated, particularly for new deployments.
fix
Review the setup wizard carefully during initial configuration or when updating from older versions to ensure OIDC settings are correctly applied. Back up existing configurations if migrating.
affects: >=0.7.0
gotchaPrior to `v0.7.7`, `sshifu-server` npm package installation on Windows could fail due to incorrect archive formats and extraction logic, leading to missing binaries.
fix
Ensure you are using `sshifu-server@0.7.7` or later for reliable installation on Windows. Update npm and Node.js to recent versions.
affects: <0.7.7
gotchaThe `sshifu-server` requires a Go binary (downloaded automatically) and Node.js >=14.0.0. Network issues, restrictive firewalls, or incompatible Node.js versions can cause installation failures.
fix
Verify network connectivity and proxy settings if the Go binary download fails. Ensure your Node.js version meets the `engines` requirement (>=14.0.0). Check npm logs for specific download or installation errors.
affects: >=0.1.0
Errors
Common errors & fixes
Error: command not found: sshifu-server
The `sshifu-server` package was not installed globally, or the global `node_modules` bin directory is not in your system's PATH.
fix
Run `npm install -g sshifu-server` to install the package globally, or use `npx sshifu-server` to run it without global installation.
npm ERR! Failed to extract sshifu-server binary from archive
This error often indicates issues with downloading the Go binary, corrupt archives, or insufficient permissions for extraction, especially on Windows or restricted environments.
fix
Check your network connection and proxy settings. Ensure you have write permissions in your npm global installation directory. On Windows, ensure you are on `sshifu-server@0.7.7` or newer and that PowerShell's `Expand-Archive` command is available.
Error: Cannot find module 'sshifu-server'
Attempting to `require()` or `import` `sshifu-server` as a JavaScript/TypeScript library. This package is a CLI tool distributing a Go binary, not a JS module.
fix
Remove `require('sshifu-server')` or `import ... from 'sshifu-server'` statements. Instead, interact with `sshifu-server` via its command-line interface: `npx sshifu-server` or `sshifu-server` if installed globally.
Upgrade
Version history
0.10.0latest on npm
Audit
Dependencies
noderequiredRequired for the npm package wrapper and installation scripts. The core server is a Go binary.
Go binaryrequiredThe core server is a Go application; the binary is automatically downloaded during npm install.
Agent activity
14 hits · last 30 days
node
12
OpenAI (training)
1
Resources
sshifu-server — npm install sshifu-server · libregistry