Skip to content

Commit 2fc48d1

Browse files
author
Colin Robertson
committed
Updates per review
1 parent a913d5b commit 2fc48d1

5 files changed

Lines changed: 29 additions & 13 deletions

docs/linux/connect-to-your-remote-linux-computer.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,19 @@ Linux support is available in Visual Studio 2017 and later.
1111

1212
::: moniker-end
1313

14-
::: moniker range=">=vs-2017"
14+
::: moniker range="vs-2017"
15+
16+
You can configure a Linux project to target a remote machine or the Windows Subsystem for Linux (WSL). For both remote machines and for WSL, you need to set up a remote connection in Visual Studio 2017.
17+
18+
::: moniker-end
19+
20+
::: moniker range="vs-2019"
21+
22+
You can configure a Linux project to target a remote machine or the Windows Subsystem for Linux (WSL). For a remote machine, you need to set up a remote connection in Visual Studio. To connect to WSL, skip ahead to the [Connect to WSL](#connect-to-wsl) section.
23+
24+
::: moniker-end
1525

16-
You can configure a Linux project to target a remote machine or the Windows Subsystem for Linux (WSL). For both remote machines and for WSL, you need to set up a remote connection in Visual Studio.
26+
::: moniker range=">=vs-2017"
1727

1828
When using a remote connection, Visual Studio builds C++ Linux projects on the remote machine. It doesn't matter if it's a physical machine, a VM in the cloud, or WSL.
1929
To build the project, Visual Studio copies the source code to your remote Linux computer. Then, the code gets compiled based on Visual Studio settings.
@@ -88,6 +98,8 @@ If ssh isn't already set up and running on your Linux system, follow these steps
8898

8999
::: moniker range="vs-2019"
90100

101+
## Logging for remote connections
102+
91103
You can enable logging to help troubleshoot connection problems. On the menu bar, select **Tools > Options**. In the **Options** dialog, select **Cross Platform > Logging**:
92104

93105
![Remote Logging](media/remote-logging-vs2019.png)
@@ -98,7 +110,7 @@ If ssh isn't already set up and running on your Linux system, follow these steps
98110

99111
## Command-line utility for the Connection Manager
100112

101-
**Visual Studio 2019 version 16.5 or 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, you can use it to set up Visual Studio for continuous integration. For examples and a complete reference to the ConnectionManager command, see [ConnectionManager reference](../build/reference/connectionmanager-reference.md).
113+
**Visual Studio 2019 version 16.5 or 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, you can use it to set up Visual Studio for continuous integration. For examples and a complete reference to the ConnectionManager command, see [ConnectionManager reference](connectionmanager-reference.md).
102114

103115
::: moniker-end
104116

docs/build/reference/connectionmanager-reference.md renamed to docs/linux/connectionmanager-reference.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ConnectionManager.exe is available in Visual Studio 2019 version 16.5 and later.
1616

1717
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](..\building-on-the-command-line.md).
1818

19-
ConnectionManager.exe is available in Visual Studio 2019 version 16.5 and later. It's installed automatically when you choose the **Connection Manager** component in the Visual Studio Installer. By default, it's installed in *%VCIDEInstallDir%\\Linux\\bin\\ConnectionManager.exe*.
19+
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*.
2020

2121
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**.
2222

@@ -26,11 +26,11 @@ The functionality of ConnectionManager.exe is also available in Visual Studio. T
2626
2727
### Commands and arguments
2828

29-
- **add** *user@host* \[**--port** *port*] \[**--password** *password*] \[**--privatekey** *privatekey_file*]
29+
- **add** *user\@host* \[**--port** *port*] \[**--password** *password*] \[**--privatekey** *privatekey_file*]
3030

3131
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 **--password** and **--privatekey** to specify a password for a private key.
3232

33-
- **remove** \[*connection_id* \| *user@host* \[**--port** *port*]]
33+
- **remove** \[*connection_id* \| *user\@host* \[**--port** *port*]]
3434

3535
Removes a connection. If no arguments are specified, you're prompted to specify which connection to remove.
3636

docs/linux/set-up-fips-compliant-secure-remote-linux-development.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Linux support is available in Visual Studio 2017 and later. FIPS-compliant secur
1515

1616
Federal Information Processing Standard (FIPS) Publication 140-2 is a U.S. government standard for cryptographic modules. Implementations of the standard are validated by NIST. Windows has [validated support for FIPS-compliant cryptographic modules](/windows/security/threat-protection/fips-140-validation). In Visual Studio 2019 version 16.5 and later, you can use a secure, FIPS-compliant cryptographic connection to your Linux system for remote development.
1717

18-
To set up a secure, FIPS-compliant connection between Visual Studio and your remote Linux system, follow this guide. It's applicable when you build CMake or MSBuild Linux projects in Visual Studio. This article is the FIPS-compliant version of the connection instructions in [Connect to your remote Linux computer](connect-to-your-remote-linux-computer.md).
18+
Here's how to set up a secure, FIPS-compliant connection between Visual Studio and your remote Linux system. This guide is applicable when you build CMake or MSBuild Linux projects in Visual Studio. This article is the FIPS-compliant version of the connection instructions in [Connect to your remote Linux computer](connect-to-your-remote-linux-computer.md).
1919

2020
## Prepare a FIPS-compliant connection
2121

@@ -48,9 +48,9 @@ The examples in this article use Ubuntu 18.04 LTS with OpenSSH server version 7.
4848
```
4949

5050
> [!NOTE]
51-
> ssh-rsa is the only FIPS compliant host key algorithm VS supports. aes*-ctr is also FIPS compliant, but the implementation in Visual Studio isn't approved. ecdh-* key exchange algorithms are FIPS compliant but Visual Studio doesn't support them.
51+
> ssh-rsa is the only FIPS compliant host key algorithm VS supports. The aes\*-ctr algorithms are also FIPS compliant, but the implementation in Visual Studio isn't approved. The ecdh-\* key exchange algorithms are FIPS compliant, but Visual Studio doesn't support them.
5252
53-
Some other relevant security options you may want to consider are `PermitRootLogin`, `PasswordAuthentication`, and `PermitEmptyPasswords`. For more information, see the man page for sshd_config or the article [SSH Server Configuration](https://www.ssh.com/ssh/sshd_config).
53+
You're not limited to these options. You can configure ssh to use additional ciphers, host key algorithms, and so on. Some other relevant security options you may want to consider are `PermitRootLogin`, `PasswordAuthentication`, and `PermitEmptyPasswords`. For more information, see the man page for sshd_config or the article [SSH Server Configuration](https://www.ssh.com/ssh/sshd_config).
5454

5555
1. After saving and closing sshd_config, restart the ssh server to apply the new configuration:
5656

@@ -73,7 +73,7 @@ Next, you'll create an RSA key pair on your Windows computer. Then you'll copy t
7373
1. From Windows, copy the public key to the Linux machine:
7474

7575
```cmd
76-
scp -p %USERPROFILE%\.ssh\id_rsa.pub user@hostname
76+
scp %USERPROFILE%\.ssh\id_rsa.pub user@hostname:
7777
```
7878

7979
1. On the Linux system, add the key to the list of authorized keys, and ensure the file has the correct permissions:
@@ -128,6 +128,10 @@ You've successfully set up ssh, created and deployed encryption keys, and tested
128128
129129
For more information on troubleshooting your connection, see [Connect to your remote Linux computer](connect-to-your-remote-linux-computer.md).
130130
131+
## Command-line utility for the Connection Manager
132+
133+
**Visual Studio 2019 version 16.5 or 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, you can use it to set up Visual Studio for continuous integration. For examples and a complete reference to the ConnectionManager command, see [ConnectionManager reference](connectionmanager-reference.md).
134+
131135
## Optional: Enable or disable FIPS mode
132136
133137
It's possible to enable FIPS mode globally in Windows.
@@ -141,7 +145,7 @@ It's possible to enable FIPS mode globally in Windows.
141145
1. In the **Local Security Setting** tab, select **Enabled** or **Disabled**, and then choose **OK** to save your changes.
142146
143147
> [!WARNING]
144-
> The System cryptography security option may cause some applications to break or behave unexpectedly. For more information, see the blog post [Why We’re Not Recommending "FIPS mode" Anymore](https://techcommunity.microsoft.com/t5/microsoft-security-baselines/why-we-8217-re-not-recommending-8220-fips-mode-8221-anymore/ba-p/701037).
148+
> Enabling FIPS mode may cause some applications to break or behave unexpectedly. For more information, see the blog post [Why We’re Not Recommending "FIPS mode" Anymore](https://techcommunity.microsoft.com/t5/microsoft-security-baselines/why-we-8217-re-not-recommending-8220-fips-mode-8221-anymore/ba-p/701037).
145149
146150
## Additional resources
147151

docs/linux/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
href: connect-to-your-remote-linux-computer.md
1010
- name: Set up FIPS-compliant secure remote Linux development
1111
href: set-up-fips-compliant-secure-remote-linux-development.md
12+
- name: ConnectionManager reference
13+
href: connectionmanager-reference.md
1214
- name: Create a new Linux project
1315
href: create-a-new-linux-project.md
1416
- name: Configure a Linux project

docs/toc.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1143,8 +1143,6 @@
11431143
items:
11441144
- name: Additional MSVC build tools
11451145
href: build/reference/c-cpp-build-tools.md
1146-
- name: ConnectionManager reference
1147-
href: build/reference/connectionmanager-reference.md
11481146
- name: NMAKE reference
11491147
expanded: false
11501148
items:

0 commit comments

Comments
 (0)