- Remove invalid warn (#283)
- Avoid double-connection when having chained gateways (#285) by @4wrxb
- Add
GatewayConnectTimeout
option (#289) - Fix hook parsing to support
{{.}}
(#297) by @ahhx - Support inherits on regex hosts (#298) by @alenn-m
- Print version in
assh info
- Switch to go modules
- Switch go moul.io/assh canonical domain
- Move changelog to its own file
- Switch to golangci-lint for linting
- Move old webapp to contrib
- Cleanup old files
- Bump deps
- Switch to go.uber.org/zap for logging
- Add more shell propositions for the 'exec' hook (#254)
- Support SSH tokens and ~ expansion in ControlPaths (#276) by @stk0vrfl0w
- Ensure ControlPath directories are properly created when using syntax such as "ssh host1/host2" (#276) by @stk0vrfl0w
- Change panic() to a warning statement when removing the temporary file. Since delete is deferred, the config file should have already been renamed and would no longer exist (#276) by @stk0vrfl0w
- Fix check when ControlPath is empty, to avoid creating control socket directory in some cases (#281) by @frezbo
- Automatically detect available shell when using the 'exec' hook (#254)
- Automatically detect if
-q
is passed to the parent ssh process to disable logging (#253) by @cao - Add a new
%g
(gateway) parameter toResolveCommand
andProxyCommand
(#247 - Fix panic on particular
assh.yml
files - Fix build issue on OSX (#238 by @jcftang)
- Rewrite .ssh/config file atomically (#215)
- Support inheritance links in Graphviz (#235)
- Support wildcards in Graphviz config export (#228)
- Fix error message on first config build (#230)
- Fix NetBSD, FreeBSD and Windows builds (#182)
- Add RateLimit support (#65)
- Add possibility to disable automatic configuration rewrite (#239)
- Add
BeforeConfigWrite
andAfterConfigWrite
new hooks (#239) - Generate full assh binary path in ~/.ssh/config (#148)
- Initial version of
assh ping
command
- Support
UseKeychain
option (#189) (@ocean90) - Support
ConnectTimeout
option (#132) .ssh/config
: Wrap long comments to avoid syntax errors (#191)- Fix integers output in
assh config list
(#181) - Initial graphviz support (#32)
- Remove case-sensitivity for
Inherits
andGateways
(#178) - Loads hosts from
~/.ssh/assh_known_hosts
file when callingassh config build
, can be ignored using--ignore-known-hosts
(#178) - Add
assh config graphviz --show-isolated-hosts
flag - Fix nil dereference when calling
assh config serach
without providing needle - Add sprig helpers to the template engine (#206)
- Improve readability of
assh config list
(#203) - Add support for the
AddKeysToAgent
key (#210) (@bachya) - OpenBSD support (#182)
- Improve hostname output in
assh config list
(#204) - Support for inline comments (#34)
- Initial support of values validation to avoid writing invalid .ssh/config file (#92)
- Alpha version of the webapp (#69)
- Support multiple string arguments of the same type on
assh wrapper ssh
(#185) - Remove the
NoControlMasterMkdir
option, and add theControlMasterMkdir
option instead (#173) - Accepting string or slices for list options (#119)
- Add new
PubkeyAcceptedKeyTypes
OpenSSH 7+ field (#175) - Gracefully report an error when calling assh without configuration file (#171)
- Fix
written bytes
calculation (@quentinperez) - Add template functions:
json
,prettyjson
,split
,join
,title
,lower
,upper
- Support of
BeforeConnect
,OnConnect
,OnConnectError
andOnDisconnect
hooks - Support of
write
,notify
andexec
hook drivers - Add
assh config json
command - Add
assh config {build,json} --expand
option - Round the hook's
ConnectionDuration
variable value
- Fix panic in
assh wrapper
(#157)
- Add a control socket manager
assh sockets {list,flush,master}
(#152) - Add a
assh --config=/path/to/assh.yml
option - Add storm-like
assh config list
andassh config search {keyword}
commands (#151) - Add an optional
ASSHBinaryPath
variable in theassh.yml
file (#148) - Rename
assh proxy -> assh connect
- Hide
assh connect
andassh wrapper
from the help - Support built-in ssh netcat mode, may fail with older SSH clients (#146)
- Add wrapper and
known_hosts
support to handle advanced patterns (#122) - Add build information in .ssh/config header (#49)
- Add Autocomplete support (#48)
- Initial
Aliases
support (#133) - Use args[0] as ProxyCommand (#134)
- Add
NoControlMasterMkdir
option to disable automatic creation of directories for gateways (#124) - Fix: Allow
$(...)
syntax in theResolveCommand
function (#117) - Printing the error of a failing
ResolveCommand
(#117) - Fix:
Gateways
field is no longer ignored when theHostName
field is present (#102) - Ignore SIGHUP, close goroutines and export written bytes (#112) (@QuentinPerez)
- Various documentation improvements (@ashmatadeen, @loliee, @cerisier)
- Support of new SSH configuration fields (
AskPassGUI
,GSSAPIClientIdentity
,GSSAPIKeyExchange
,GSSAPIRenewalForcesRekey
,GSSAPIServerIdentity
,GSSAPITrustDns
,KeychainIntegration
)
- Avoid exiting when an included file contains errors (#95)
- Anonymize paths in
assh info
- Support of
assh proxy --dry-run
option - Fix: do not resolve variables in hostnames twice (#103)
- Expand environment variables (#86)
- Add homebrew support (#73)
- Add a 'ssh info' command (#71)
- Templates support (#52)
- Configuration is now case insensitive (#51)
- Fix: resolving host fields for gateways (#79)
- Fix: inheritance was not working for non assh-related fields (#54)
- Fix: expanding variables in HostName (#56)
- First Golang version
- Compatibility issue: complete switch from
.ini
file format to.yml
, the~/.ssh/assh.yml
file needs to be manually crafted - Features
- Parses
~/.ssh/assh.yml
and generates~/.ssh/config
dynamically - CLI: Use gateways from CLI without any configuration needed
- Config: Declares gateways in coniguration
- Config: Host inheritance
- Config: Support of
includes
- Config: Support of Regex
- Config: Handling all sshconfig fields
- Config: Support of host
ProxyCommand
(inception) - Under the hood: Inspecting parent process verbose/debug mode
- Under the hook: dynamic proxy using raw TCP, netcat
- Parses
v1 (2015-07-22)
- Last Python version
POC (2010-08-26)
- First Python version (POC)