Skip to content
 
 

Latest commit

 

History

136 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SSH Tools Homebrew Tap

This Homebrew tap provides various SSH-related tools and utilities for macOS.

Available Formulas

libsk-libfido2

Library for macOS Yubikey support for SSH with FIDO2 security keys. This enables hardware-based SSH authentication using FIDO2/WebAuthn security keys.

Installation:

brew install michaelroosz/ssh/libsk-libfido2

Post-installation: Run the following command to complete setup:

sudo install-libsk-libfido2

This installs the library, writes the launch agent and loads it into your GUI login session.

Alternative: Use the automated cask installer (recommended):

brew install michaelroosz/ssh/libsk-libfido2-install

ssh-askpass

Passphrase dialog for OpenSSH, from MichaelRoosz/ssh-askpass — a fork of theseal/ssh-askpass (ISC licensed). It is packaged here so the other formulae in this tap can ship bottles: Homebrew refuses to bottle a formula whose dependencies are unbottled, and the original tap publishes none.

Installation:

brew install michaelroosz/ssh/ssh-askpass

This formula installs only the ssh-askpass binary. The original also shipped a launch agent that ran launchctl setenv SSH_ASKPASS, which is exactly what this tap's own com.mroosz.ssh_env_vars agent does — running both would mean two agents writing the same session variable. As a result brew services start ssh-askpass is not supported here; if you relied on it, keep using theseal/ssh-askpass instead.

Getting SSH_ASKPASS set for your session. Because this formula no longer ships a launch agent, nothing points SSH_ASKPASS at the binary on its own. This tap's com.mroosz.ssh_env_vars agent does that — it runs launchctl setenv at login for SSH_ASKPASS, SSH_ASKPASS_REQUIRE and SSH_SK_PROVIDER, so terminals and GUI apps started afterwards inherit them.

Install it with the cask:

brew install michaelroosz/ssh/libsk-libfido2-install

or, if you prefer the formula:

brew install michaelroosz/ssh/libsk-libfido2
sudo install-libsk-libfido2

Check that it took effect (log out and back in first, if you just installed it):

launchctl getenv SSH_ASKPASS

If you would rather not run the agent at all, set the variables yourself in your shell profile instead. Note this only covers shells, not GUI applications:

export SSH_ASKPASS="$(brew --prefix)/bin/ssh-askpass"
export SSH_ASKPASS_REQUIRE=force

Already using theseal/ssh-askpass? The binary is identical (same upstream tag, same tarball checksum) and the formula name matches, so both share one Cellar entry: an existing install already satisfies the formulae here and is not replaced.

Once you are on this version you can drop the original tap, so brew no longer has two formulae with the same name:

brew untap theseal/ssh-askpass

Until you do, plain brew install ssh-askpass is ambiguous — use the fully qualified michaelroosz/ssh/ssh-askpass.

ssh-tunnel-manager

SSH tunnel management tool implemented with xbar for easy GUI management of SSH tunnels.

Installation:

brew install michaelroosz/ssh/ssh-tunnel-manager

Source: https://github.com/MichaelRoosz/ssh-tunnel-manager

sshpass

Non-interactive SSH password authentication tool with a custom fix for the ControlPersist SSH feature.

Installation:

brew install michaelroosz/ssh/sshpass

Source: https://sourceforge.net/projects/sshpass/

Available Casks

libsk-libfido2-install

Automated installer for libsk-libfido2 that handles all configuration automatically.

Installation:

brew install michaelroosz/ssh/libsk-libfido2-install

This cask automatically:

  • Installs the libsk-libfido2 library
  • Configures environment variables
  • Sets up launch agents
  • Updates shell configuration

Uninstalling the cask reverses all of it:

brew uninstall --cask michaelroosz/ssh/libsk-libfido2-install

Note that sudo install-libsk-libfido2 (the formula route) writes the same system files, but brew uninstall michaelroosz/ssh/libsk-libfido2 only removes the formula. To clean up afterwards, remove these by hand:

sudo launchctl bootout "gui/$(id -u)/com.mroosz.ssh_env_vars"
sudo rm /Library/LaunchAgents/com.mroosz.ssh_env_vars.plist
sudo rm /usr/local/lib/libsk-libfido2.dylib

and delete the SSH_SK_PROVIDER line from your ~/.zshrc.

Getting Started

First, add this tap to your Homebrew:

brew tap michaelroosz/ssh

Then install any of the available tools using the installation commands above.

About

Homebrew SSH Formulas

Resources

Stars

22 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages