ConnectionManager 引用

ConnectionManager.exe 在 Visual Studio 2019 版本 16.5 及更高版本中提供。

ConnectionManager.exe 是用于在 Visual Studio 之外管理远程开发连接的命令行实用工具。 它对于预配新开发计算机之类的任务非常有用。 你也可以使用它来设置 Visual Studio 进行持续集成。 可以在“开发人员命令提示”窗口中使用它。 若要详细了解开发人员命令提示,请参阅通过命令行使用 Microsoft C++ 工具集

ConnectionManager.exe 在 Visual Studio 2019 版本 16.5 及更高版本中提供。 它属于 Visual Studio 安装程序中的“使用 C++ 的 Linux 开发”工作负载。 它也会在你选择安装程序中的“连接管理器”组件时自动安装。 它已安装在 %VCIDEInstallDir%\Linux\bin\ConnectionManagerExe\ConnectionManager.exe.

Visual Studio 中也提供了此功能 ConnectionManager.exe 。 若要在 IDE 中管理远程开发连接,请在菜单栏上依次选择“工具”>“选项”,以打开“选项”对话框。 在“选项”对话框中,依次选择“跨平台”>“连接管理器”。

语法

ConnectionManager.exe command [arguments] [options]

命令和参数

  • add user@host [--port port] [--password password] [--privatekey privatekey_file]

    验证身份,并添加新连接。 默认情况下,它使用端口 22 和密码身份验证。 (系统会提示输入密码。

    可以使用密码或密钥文件和密码进行身份验证。 密钥文件比用户名/密码更安全。 如果已有密钥对,可以重用它。 使用两者 --password--privatekey 指定私钥文件的通行短语。

    17.10 之前的 Visual Studio 版本支持椭圆曲线(EC)、Rivert-Shamir-Adleman(RSA)和用于远程连接的数字签名算法(DSA)密钥。 由于安全问题,VS 17.10 及更高版本中不再支持 RSA 和 DSA 密钥。 目前仅支持 EC 密钥。

    若要创建与连接管理器兼容的密钥对,请使用命令 ssh-keygen -m pem -t ecdsa -f <key-name>。 如果用于 ssh-keygen 创建私钥,则必须指定开关 -m pem,否则 Visual Studio 不接受该密钥。 如果私钥以 -----BEGIN OPENSSH PRIVATE KEY----- 开头,则必须将其转换为 ssh-keygen -p -f <FILE> -m pem

  • clean

    删除不再存在的连接的标头缓存。

  • help

    显示帮助屏幕。

  • list [--properties]

    显示已存储的所有连接的信息、ID 和属性。
    有关示例,请参阅常用属性

  • modify [default | connection_id | user@host [--port port]] [--property key=value]

    定义或修改连接的属性。
    如果 value 为空,则删除属性 key。
    如果身份验证失败,则不进行任何更改。
    如果未指定任何连接,则使用用户的默认远程连接。

  • remove [connection_id | user@host [--port port]]

    删除连接。 如果你没有指定任何参数,系统会提示你指定要删除哪个连接。

  • remove-all

    删除已存储的所有连接。

  • update [default | all | connection_id | user@host [--port port]] [--previous] [--fingerprint]

    已在 Visual Studio 16.10 中添加。 更新指定连接的主机密钥指纹。

  • version

    显示版本信息。

选项

  • --file filename

    从提供的 filename 中读取连接信息。

  • --fingerprint

    服务器提供的主机密钥指纹。 将此选项与“list”配合使用以查看连接的指纹。

  • -i

    --privatekey 相同。

  • -n, --dry-run

    试运行命令。

  • --no-prompt

    视情况发生故障,而不是提示。

  • --no-telemetry

    禁用将用法数据发送回 Microsoft。 除非传递的是 --no-telemetry 标志,否则用法数据会被收集并发送回 Microsoft。

  • --no-verify

    添加或修改连接,而无需进行身份验证。

  • --p

    --password 相同。

  • --previous

    指示将从先前版本的连接管理器中读取连接,更新此连接并将其写入新版本。

  • -q, --quiet

    防止输出到 stdoutstderr

示例

下面的命令在 localhost 上为名为“user”的用户添加连接。 连接使用 %USERPROFILE%.ssh\id_rsa 中的密钥文件进行身份验证。

ConnectionManager.exe add user@127.0.0.1 --privatekey "%USERPROFILE%\.ssh\id_rsa"

下面的命令从连接列表中删除 ID 为 1975957870 的连接。

ConnectionManager.exe remove 1975957870

常用属性

属性 说明
身份验证类型 用于连接的身份验证类型,例如:"password""privatekey"
创建一个身份验证类型设置为 "privatekey" 的连接:ConnectionManager.exe add user@127.0.0.1 --privatekey "%USERPROFILE%\.ssh\id_rsa"
default 一个布尔值,指示这是否是默认连接。 当存在多个可用连接,并且未指定要使用的连接时,将使用默认连接。
将指定的连接设置为默认连接:ConnectionManager.exe modify -21212121 --property default=true
host 远程计算机的名称或 IP 地址。
更改与另一台计算机的指定连接的主机,本例中为本地主机:ConnectionManager.exe modify -21212121 --property host=127.0.0.1
isWsl 如果远程会话正在运行适用于 Linux 的 Windows 子系统,则返回 true。
password 连接的密码。 使用以下命令更改指定连接的密码:ConnectionManager.exe modify -21212121 --property password="xyz"
platform 远程计算机的平台,例如 "ARM""ARM64""PPC""PPC64""x64""x86"
port 连接使用的端口。
更改指定连接的端口:ConnectionManager.exe modify -21212121 --property port=22
shell 要在远程系统上使用的首选 shell。 支持的 shell 为 sh, csh, bash, tcsh, ksh, zsh, dash
对于指定连接上的远程计算机,将首选 shell 设置为 zsh:ConnectionManager.exe modify -21212121 --property shell=zsh
如果在 Linux 系统上找到的 shell 不受支持,则对所有命令使用 sh
systemID 远程系统类型,例如 "OSX""Ubuntu"
timeout 连接超时时间(毫秒)。 使用以下命令更改指定连接的超时时间:ConnectionManager.exe modify -21212121 --property timeout=100
username 登录到远程计算机的用户的名称。
在 localhost 上为名为 "user" 的用户添加连接:ConnectionManager.exe add user@127.0.0.1

另请参阅

在 Visual Studio 中连接到你的目标 Linux 系统