sshconf

module
v0.0.0-...-ef38420 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 12, 2026 License: MIT

README

SSHConf

Parse ssh_config into Golang SSH library so the end users don't have to write another config file.

Project Status - Premature Go Reference

Feature Parity

Config Parser
  • Generic parser for OpenSSH config files: pkg/sshconfig
  • ssh_config: pkg/sshclient
  • sshd_config: pkg/sshserver
Command Line Arguments Parser
  • scp
  • sftp
  • ssh: pkg/sshclient
  • ssh-add: pkg/sshadd
  • ssh-agent: pkg/sshagent
  • ssh-copy-id: pkg/sshcopyid
  • ssh-keygen: pkg/sshkeygen
  • ssh-keyscan: pkg/sshkeyscan
  • sshd: pkg/sshserver (reference implementation only, see Unsupported Config)
Algorithms

The following algorithms are recognized by OpenSSH but have no implementation in golang.org/x/crypto/ssh. If configured, they are silently filtered out.

Key Exchange
Algorithm Notes
sntrup761x25519-sha512 Hybrid post-quantum (NTRU Prime)
sntrup761x25519-sha512@openssh.com OpenSSH-specific name
curve25519-sha256@libssh.org Alias for curve25519-sha256
diffie-hellman-group18-sha512 DH group 18
Ciphers
Algorithm Notes
aes192-cbc AES-192 in CBC mode
aes256-cbc AES-256 in CBC mode
MACs
Algorithm Notes
umac-64-etm@openssh.com UMAC-64 encrypt-then-MAC
umac-128-etm@openssh.com UMAC-128 encrypt-then-MAC
hmac-sha1-etm@openssh.com HMAC-SHA1 encrypt-then-MAC
umac-64@openssh.com UMAC-64
umac-128@openssh.com UMAC-128
Host Key Algorithms
Algorithm Notes
sk-ssh-ed25519@openssh.com FIDO/U2F security key (Ed25519)
sk-ecdsa-sha2-nistp256@openssh.com FIDO/U2F security key (ECDSA)
sk-ssh-ed25519-cert-v01@openssh.com Certificate variant
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com Certificate variant

Thanks

  • @oott123 sponsored a lot AI credits used in writing this project

Directories

Path Synopsis
cmd
ssh command
ssh-add command
ssh-agent command
ssh-copy-id command
ssh-keygen command
ssh-keyscan command
sshd command
pkg
dialer
Package dialer contains shared SSH-oriented network helpers.
Package dialer contains shared SSH-oriented network helpers.
gssapi
Package gssapi provides implementations of golang.org/x/crypto/ssh.GSSAPIClient for SSH GSSAPI-with-MIC authentication (RFC 4462).
Package gssapi provides implementations of golang.org/x/crypto/ssh.GSSAPIClient for SSH GSSAPI-with-MIC authentication (RFC 4462).
sshadd
Package sshadd provides the ssh-add utility — manage SSH agent keys.
Package sshadd provides the ssh-add utility — manage SSH agent keys.
sshagent
Package sshagent provides the ssh-agent utility — an SSH authentication agent.
Package sshagent provides the ssh-agent utility — an SSH authentication agent.
sshclient
Package sshclient provides OpenSSH client configuration parsing and resolution.
Package sshclient provides OpenSSH client configuration parsing and resolution.
sshconfig
Package sshconfig provides a reusable parser for OpenSSH configuration file format.
Package sshconfig provides a reusable parser for OpenSSH configuration file format.
sshcopyid
Package sshcopyid provides the ssh-copy-id utility — install a public key on a remote server's authorized_keys file.
Package sshcopyid provides the ssh-copy-id utility — install a public key on a remote server's authorized_keys file.
sshkeygen
Package sshkeygen provides the ssh-keygen utility — generate, manage, and convert SSH keys.
Package sshkeygen provides the ssh-keygen utility — generate, manage, and convert SSH keys.
sshkeyscan
Package sshkeyscan provides the ssh-keyscan utility — retrieve public host keys from remote SSH servers.
Package sshkeyscan provides the ssh-keyscan utility — retrieve public host keys from remote SSH servers.
sshserver
Package sshserver provides OpenSSH daemon configuration parsing and resolution.
Package sshserver provides OpenSSH daemon configuration parsing and resolution.
version
Package version provides the application version string.
Package version provides the application version string.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL