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
防止输出到
stdout
或stderr
。
示例
下面的命令在 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 |