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-serverVerified import paths — ran on the pinned version, not inferred.
Demonstrates how to quickly run sshifu-server using npx or install it globally and then run the CLI. It highlights the interactive configuration process.
Use `sshifu-server` as a command-line interface (CLI) tool. Do not attempt to import it programmatically in JS/TS code.
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.
Ensure you are using `sshifu-server@0.7.7` or later for reliable installation on Windows. Update npm and Node.js to recent versions.
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.
Run `npm install -g sshifu-server` to install the package globally, or use `npx sshifu-server` to run it without global installation.
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.
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.