Skip to content

ConfigForge

ConfigForge Logo

A simple and efficient SSH and Kuberenetes tool

PlatformSwiftLicenseAsk DeepWiki

Introduction

ConfigForge is an open-source configuration management tool for macOS users, supporting visual management of SSH and Kubernetes configurations. It provides a simple UI to manage the '~/.ssh/config' and '~/.kube/config' files,

allowing you to easily to manage various configurations, avoiding the cumbersome and error risks of directly editing text files.

Screenshot

ConfigForge Screenshot

As a completely open-source project, ConfigForge respects users' privacy and freedom. All code is transparent and publicly available, ensuring that your configuration is safe and reliable.

CLI Demo

Features

  • 🖥️ Intuitive GUI for managing SSH hosts and KubeConfig files.
  • ⚡️ Command-line tool cf for quick host connection and config switching.
  • 🔒 Comprehensive SSH host management, supporting all standard directives and auto-detecting entries in .ssh/config.
  • ☁️ Manage multiple KubeConfig files separately in .kube/configs without merging clusters.

Installation

Recommend using Homebrew to install and update; cf command will be added to your PATH automatically.

bash
brew tap samzong/tap
brew install configforge

If you still can't open the app, run this command in Terminal:

bash
xattr -dr com.apple.quarantine /Applications/ConfigForge.app

SSH Config Host Key

OpenSSH is a widely used secure remote login tool, and its configuration file .ssh/config allows users to define connection settings for different hosts. The Host section is the core of the configuration file, used to specify configuration options for particular hosts.

Configuration ItemDescriptionDefaultPossible Values/Notes
HostNameSpecifies the actual hostname or IP address to log in to.Command line nameSupports %h tokens, defaults to command line input hostname.
UserSpecifies the username for remote host login.-String, overrides default user.
PortSpecifies the SSH server port number.22Integer, defaults to 22.
IdentityFileSpecifies the path to private key file for authentication.~/.ssh/id_rsa etcSupports ~ and tokens, multiple files allowed, defaults to standard paths.
AddKeysToAgentControls whether to automatically add keys to ssh-agent.noyes, ask, confirm, no, or time interval (e.g. 1h).
AddressFamilySpecifies the address family to use for connections (e.g. IPv4 or IPv6).anyany, inet, inet6.
BatchModeUsed for scripts, disables password prompts.noyes, no.
BindAddressSpecifies the local binding address.-IP address, only useful on multi-address systems.
CanonicalizeHostnameControls whether to canonicalize hostnames.nono, yes, always, none.
CheckHostIPControls whether to check if host IP is in known_hosts file.noyes, no.
CiphersSpecifies allowed encryption algorithms and priorities.See descriptionComma-separated list, supports +, -, ^ prefixes, query available options with ssh -Q cipher.
CompressionEnables or disables data compression.noyes, no.
ControlMasterEnables sharing multiple sessions over a single network connection.noyes, ask, auto, autoask, no.
ControlPathSpecifies the path for control socket, used for connection sharing.-Path, supports ~ and tokens, or "none" to disable.
DynamicForwardSets up local dynamic application-level port forwarding as SOCKS proxy.-[bind_address:]port, supports IPv6 with brackets.
EscapeCharSets the escape character for the connection.~Single character, "^" followed by letter, or "none" to disable.
ForwardAgentAllows forwarding of authentication agent connection.noyes, no, path, or environment variable starting with $.
ForwardX11Enables X11 forwarding.noyes, no.
GlobalKnownHostsFileSpecifies the global known hosts key file./etc/ssh/ssh_known_hosts, /etc/ssh/ssh_known_hosts2Space-separated paths, supports ~ and tokens.
HostKeyAlgorithmsSpecifies host key signature algorithms.See descriptionComma-separated list, supports +, -, ^ prefixes, query available options with ssh -Q HostKeyAlgorithms.
IdentitiesOnlyOnly use identity files specified in config file, ignore ssh-agent.noyes, no.
IdentityAgentSpecifies the UNIX domain socket for communicating with authentication agent.-Path, "none", "SSH_AUTH_SOCK", or environment variable starting with $.
LocalForwardSets up local port forwarding.-[bind_address:]port host:hostport, supports IPv6 with brackets.
LogLevelSets the verbosity level for logging.INFOQUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3.
MACsSpecifies message authentication code algorithms.See descriptionComma-separated list, supports +, -, ^ prefixes, query available options with ssh -Q mac.
PasswordAuthenticationControls whether to use password authentication.yesyes, no.
PreferredAuthenticationsSpecifies the order of authentication methods.gssapi-with-mic,hostbased,publickey,keyboard-interactive,passwordComma-separated list.
ProxyCommandSpecifies the command to connect to the server.-Command string, supports %%, %h, %n, %p, %r tokens, "none" to disable.
ProxyJumpSpecifies jump host for proxy.-[user@]host[:port] or SSH URI, multiple comma-separated, "none" to disable.
PubkeyAuthenticationControls whether to try public key authentication.yesyes, no, unbound, host-bound.
RemoteForwardSets up remote port forwarding.-[bind_address:]port host:hostport, supports IPv6 with brackets.
SendEnvSpecifies environment variables to send to server.-Variable names, supports wildcards, multiple space-separated or multi-line.
ServerAliveIntervalSets the interval for server keep-alive messages.0 (disabled)Seconds, 0 means disabled.
StrictHostKeyCheckingControls how to check host keys.askyes, no, ask.
UserKnownHostsFileSpecifies the user's known hosts file.~/.ssh/known_hosts, ~/.ssh/known_hosts2Space-separated paths, supports ~ and tokens.
VerifyHostKeyDNSControls whether to verify host keys via DNS.noyes, no.

There are more than 100 configuration items in the Host section of the .ssh/config file. Please refer to the official documentation: OpenSSH Manual Pages and Linux man page for ssh_config(5).

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Powered by VitePress