ConnectionManager.exe is available in Visual Studio 2019 version 16.5 and later.
ConnectionManager.exe is a command-line utility to manage remote development connections outside of Visual Studio. It's useful for tasks such as provisioning a new development machine. Or, use it to set up Visual Studio for continuous integration. You can use it in a Developer Command Prompt window. For more information about the Developer Command Prompt, see Use the Microsoft C++ toolset from the command line.
ConnectionManager.exe is available in Visual Studio 2019 version 16.5 and later. It's part of the Linux development with C++ workload in the Visual Studio Installer. It's also installed automatically when you choose the Connection Manager component in the installer. It's installed in %VCIDEInstallDir%\Linux\bin\ConnectionManagerExe\ConnectionManager.exe.
The functionality of ConnectionManager.exe is also available in Visual Studio. To manage remote development connections in the IDE, on the menu bar, choose Tools > Options to open the Options dialog. In the Options dialog, select Cross Platform > Connection Manager.
ConnectionManager.execommand [arguments] [options]
Commands and arguments
Authenticates and adds a new connection. By default, it uses port 22 and password authentication. (You'll be prompted to enter a password.) Use both -
--privatekeyto specify a password for a private key.
Deletes header cache for connections that no longer exist.
Displays a help screen.
Displays information, IDs, and properties of all stored connections.
For examples, see Commonly used properties.
modify[default | connection_id | user@host [
Defines or modifies a property on a connection.
If value is empty, then the property key is deleted.
If authentication fails, no changes will be made.
If no connection is specified (what is meant by default, above), the user's default remote connection is used.
remove[connection_id | user@host [
Removes a connection. If no arguments are specified, you're prompted to specify which connection to remove.
Removes all stored connections.
update[default | all | connection_id | user@host [
Added in Visual Studio 16.10. Updates the host key fingerprint of the specified connection(s).
Displays version information.
Read connection information from the provided filename.
The host key fingerprint presented by the server. Use this option with
listto view a connection's fingerprint.
Does a dry run of the command.
Fail instead of prompt, when appropriate.
Disable sending usage data back to Microsoft. Usage data is collected and sent back to Microsoft unless the
--no-telemetryflag is passed.
Add or modify a connection without authentication.
Indicates that the connection(s) will be read from the previous version of connection manager, updated, and written to the new version.
Prevents output to
This command adds a connection for a user named "user" on localhost. The connection uses a key file for authentication, found in %USERPROFILE%.ssh\id_rsa.
ConnectionManager.exe add email@example.com --privatekey "%USERPROFILE%\.ssh\id_rsa"
This command removes the connection that has ID 1975957870 from the list of connections.
ConnectionManager.exe remove 1975957870
Commonly used properties
|authentication type||The type of authentication used for the connection such as:
To create a connection with the authentication type set to
||A boolean indicating whether this is the default connection. The default connection is used when there's more than one connection available and the one to use isn't specified.
To set the specified connection to be the default connection:
||The name or IP address of the remote computer.
To change the host for the specified connection to another machine, in this case, local host:
||Returns true if the remote session is running Windows Subsystem for Linux.|
||The password for the connection. Change the password for the specified connection with:
||The platform of the remote computer such as
||The port used for the connection.
Change the port for the specified connection:
||The preferred shell to use on the remote system. Supported shells are
To set the preferred shell to be zsh for the remote machine on the specified connection:
If the shell found on the Linux system isn't supported, then
||The remote system type, such as
||The connection timeout in milliseconds. Change the timeout for the specified connection with:
||The name of the user logged into the remote computer.
To add a connection for a user named
Submit and view feedback for