sshconfig-lint
SSH config linter rules and fixes
Every SSH config diagnostic has a focused explanation, a marked example, and a practical fix.
INVALID_VALUEInvalid directive value
BrowserDUP_HOSTDuplicate Host blocks
BrowserMISSING_IDENTITYMissing IdentityFile
CLIWILDCARD_ORDERWildcard Host ordering
BrowserWEAK_ALGOWeak or deprecated algorithm
BrowserDUP_DIRECTIVEDuplicate directive
BrowserINSECURE_OPTInsecure SSH option
BrowserUNSAFE_CTRL_PATHUnsafe ControlPath
BrowserINCLUDE_CYCLEInclude cycle
CLIINCLUDE_DEPTHInclude nesting too deep
CLIINCLUDE_READInclude cannot be read
CLIINCLUDE_GLOBInvalid Include pattern
CLIINCLUDE_NO_MATCHInclude matches no files
CLINEGATED_HOSTHost has only negated patterns
BrowserPROXY_CONFLICTProxyCommand and ProxyJump conflict
BrowserREVOKED_HOST_KEYS_UNREADABLERevokedHostKeys file is unreadable
CLIMISSING_CERTIFICATECertificateFile not found
CLILOCAL_COMMAND_DISABLEDLocalCommand is not enabled
BrowserINVALID_TOKENInvalid percent token
BrowserINVALID_SYNTAXInvalid SSH config syntax
BrowserUNKNOWN_DIRECTIVEUnknown SSH directive
BrowserDEPRECATED_OPTIONDeprecated or obsolete option
BrowserCONTROL_PERSIST_UNUSEDControlPersist without ControlMaster
BrowserUPDATE_HOSTKEYS_ASK_PERSISTUpdateHostKeys ask with ControlPersist
BrowserINVALID_MATCH