# Install assh with Homebrew, MacPorts, Nix

Advanced SSH config - Regex, aliases, gateways, includes and dynamic hosts. Version 2.17.2 via Homebrew; verified 2026-05-12.

## Install

```sh
sudo av install brew:assh
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install assh
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install assh
```

  Evidence: MacPorts ports tree: sysutils/assh/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#assh
```

  Evidence: nixpkgs package indexes: pkgs/by-name/as/assh/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:assh
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/assh>
- **Version:** 2.17.2
- **Source summary:** Advanced SSH config - Regex, aliases, gateways, includes and dynamic hosts
- **Homepage:** <https://v1.manfred.life/assh/>
- **Repository:** <https://github.com/moul/assh>
- **Upstream docs:** <https://github.com/moul/assh#readme>
- **License:** MIT
- **Source archive:** <https://github.com/moul/assh/archive/refs/tags/v2.17.2.tar.gz>
- **Last updated:** 2026-05-12T16:18:23Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- assh (cli)
- assh (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.17.2
- Package-manager updated: 2026-05-12
- Local data: ok
- Upstream repository: https://github.com/moul/assh
- Upstream latest detected: v2.17.2 (current)
## Project history and usage

assh is a Go-based SSH configuration helper formerly known as Advanced SSH Config. Its niche is not replacing OpenSSH, but generating and wrapping OpenSSH configuration so regular SSH-dependent tools can use richer host aliases, regex-like matching, gateways, includes, templates, Graphviz output, JSON output, and YAML configuration.

### Project history

The public GitHub repository dates to 2011 and the official project page describes the rename from Advanced SSH Config to assh. The README frames the tool as a transparent wrapper around SSH: lib-ssh uses assh as a ProxyCommand, so the generated behavior works through normal ssh, scp, rsync, git, and desktop tools that rely on SSH rather than through a separate protocol stack.

The project grew around pain points in large SSH estates: gateway chaining, dynamic hostnames, inherited host templates, generated known-host entries, and automatic regeneration of ~/.ssh/config. Its README also notes that OpenSSH 7.3 later gained native Include support, which is useful context for package maintainers because some early assh value moved into the base OpenSSH feature set while assh kept broader YAML/gateway/template behavior.

### Adoption history

assh sits in the package-manager culture of personal infrastructure tools: the supplied Homebrew facts also list MacPorts and Nix packaging. Its README and project page emphasize integration with standard SSH consumers rather than a new client, which made it useful to developers and operators who wanted one enriched configuration layer to affect many existing commands.

### How it is used

Typical use starts with ~/.ssh/assh.yml, optional split files under ~/.ssh/assh.d/*.yml, and generated ~/.ssh/config output. Package users mostly care about the executable because it can build or refresh OpenSSH config, graph the host topology, manage sockets, and let normal ssh invocations resolve aliases and gateway chains.

### Why package nerds care

For package nerds, assh is an example of a small Unix-style wrapper with outsized workflow impact: it compiles declarative YAML into OpenSSH-native config, keeps compatibility with existing SSH tooling, and exposes enough introspection output to make SSH inventories scriptable. Its config-path defaults are also important because installing the package can affect a user's core ~/.ssh/config workflow.

### Timeline

- 2011: moul/assh repository created on GitHub.
- 2016: OpenSSH 7.3 added native Include support, later noted in assh's README as overlapping with one assh configuration feature.
- 2026: GitHub repository metadata showed continued activity and the README still documented assh as an SSH wrapper/config generator.

### Related projects

- OpenSSH provides the ssh client, ~/.ssh/config, and ProxyCommand behavior that assh generates around.
- Graphviz is used by assh for host graph output.
- Other SSH inventory and config-management tools overlap with assh's generated-configuration use case, but assh's official docs emphasize staying compatible with ssh, scp, rsync, git, and lib-ssh consumers.

### Sources

- <https://api.github.com/repos/moul/assh>
- <https://github.com/moul/assh#readme>
- <https://v1.manfred.life/assh>
- source_facts.package-manager


## Security Notes

No matching local secret-handling manifest was found for assh. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.ssh/assh.yml, ~/.ssh/assh.d/*.yml, /etc/assh.yml, ~/.ssh/config
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** assh
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - assh: normalized package name match | nixpkgs package indexes: pkgs/by-name/as/assh/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - assh: normalized package name match | MacPorts ports tree: sysutils/assh/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [autossh](https://www.automicvault.com/pkg/brew/autossh/) - Shares av.db curated category or tags: cli, networking, ssh.
- [connect](https://www.automicvault.com/pkg/brew/connect/) - Shares av.db curated category or tags: cli, networking, ssh.
- [corkscrew](https://www.automicvault.com/pkg/brew/corkscrew/) - Shares av.db curated category or tags: cli, networking, ssh.
- [putty](https://www.automicvault.com/pkg/brew/putty/) - Shares av.db curated category or tags: cli, networking, ssh.
- [aerleon](https://www.automicvault.com/pkg/brew/aerleon/) - Shares av.db curated category or tags: cli, networking.
- [ahcpd](https://www.automicvault.com/pkg/brew/ahcpd/) - Shares av.db curated category or tags: cli, networking.
- [airshare](https://www.automicvault.com/pkg/brew/airshare/) - Shares av.db curated category or tags: cli, networking.
- [avahi](https://www.automicvault.com/pkg/brew/avahi/) - Shares av.db curated category or tags: cli, networking.
- [sshportal](https://www.automicvault.com/pkg/brew/sshportal/) - Security-sensitive metadata or terminology overlaps. Shared terms: cli, networking, ssh.

## Combined YAML source

View the package source record on GitHub. [combined/assh.yml](https://github.com/automic-vault/db/blob/main/combined/assh.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
