Class OpenSshConfig
java.lang.Object
org.eclipse.jgit.transport.ssh.jsch.OpenSshConfig
- All Implemented Interfaces:
com.jcraft.jsch.ConfigRepository
Fairly complete configuration parser for the OpenSSH ~/.ssh/config file.
JSch does have its own config file parser
OpenSSHConfig since version 0.1.50, but it has a
number of problems:
- it splits lines of the format "keyword = value" wrongly: you'd end up with the value "= value".
- its "Host" keyword is not case insensitive.
- it doesn't handle quoted values.
- JSch's OpenSSHConfig doesn't monitor for config file changes.
This parser makes the critical options available to
SshSessionFactory via
OpenSshConfig.Host objects returned
by lookup(String), and implements a fully conforming
ConfigRepository providing
ConfigRepository.Configs via
getConfig(String).
- Since:
- 6.0
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classConfiguration of one "Host" block in the configuration file.Nested classes/interfaces inherited from interface com.jcraft.jsch.ConfigRepository
com.jcraft.jsch.ConfigRepository.Config -
Field Summary
FieldsFields inherited from interface com.jcraft.jsch.ConfigRepository
defaultConfig, nullConfig -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic OpenSshConfigObtain the user's configuration data.com.jcraft.jsch.ConfigRepository.ConfigLocate the configuration for a specific host request.toString()
-
Field Details
-
configFile
The base file.
-
-
Constructor Details
-
OpenSshConfig
Create an OpenSshConfig- Parameters:
h- user's home directorycfg- ssh configuration file
-
-
Method Details
-
get
Obtain the user's configuration data.The configuration file is always returned to the caller, even if no file exists in the user's home directory at the time the call was made. Lookup requests are cached and are automatically updated if the user modifies the configuration file since the last time it was cached.
- Parameters:
fs- the file system abstraction which will be necessary to perform certain file system operations.- Returns:
- a caching reader of the user's configuration file.
-
lookup
Locate the configuration for a specific host request.- Parameters:
hostName- the name the user has supplied to the SSH tool. This may be a real host name, or it may just be a "Host" block in the configuration file.- Returns:
- r configuration for the requested name. Never null.
-
getConfig
Retrieves the full
Configfor the given host name. Should be called only by Jsch and tests.- Specified by:
getConfigin interfacecom.jcraft.jsch.ConfigRepository- Since:
- 4.9
-
toString
-