windows terminal 一键 ssh 连接需修改 profiles.json,依赖系统 openssh 客户端,支持密码/密钥登录及 ~/.ssh/config 别名简化,配置一次长期复用。
在 windows terminal 中配置 ssh 一键连接,核心是修改其 profiles.json 文件,添加自定义配置项。它不依赖第三方工具,直接调用系统 openssh 客户端,支持密码登录、密钥认证和别名简化,操作一次、长期复用。
确保 OpenSSH 客户端已启用
Windows Terminal 本身不内置 SSH,需依赖系统组件:
- 打开「设置」→「应用」→「可选功能」→「添加功能」
- 搜索并安装「OpenSSH 客户端」(如未启用)
- 打开 PowerShell,运行
ssh -V,确认输出类似OpenSSH_for_Windows_9.0p1即表示就绪
编辑 profiles.json 添加 SSH 配置项
所有快捷连接都通过向 profiles.list 数组插入新对象实现:
- 启动 Windows Terminal,按
Ctrl + ,打开设置界面 - 滚动到底部,点击「打开 JSON 文件」
- 在
"profiles": { "list": [ ... ] }内的数组末尾添加新对象(注意逗号分隔)
基础示例(密码登录):
{
"guid": "{bb1fddd2-750a-45f3-a852-7426b45a1007}",
"name": "MyServer",
"commandline": "ssh user@192.168.1.100 -p 22",
"icon": "ms-appdata:///Local/server-icon.png"
}
其中:guid 是唯一标识(可用 [guid]::NewGuid() 在 PowerShell 中生成)name 将显示在标签页标题上commandline 是完整 SSH 命令,支持 -p 指定端口
用密钥免密登录更安全便捷
避免每次输密码,推荐使用密钥对:
- 在 PowerShell 或 Git Bash 中运行:
ssh-keygen -t ed25519 -C "you@example.com"(一路回车) - 将公钥上传到 Linux 服务器:
type $HOME.sshid_ed25519.pub | ssh user@192.168.1.100 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys" - 更新配置项,显式指定私钥路径:
"commandline": "ssh -i "C:\Users\YourName\.ssh\id_ed25519" user@192.168.1.100"
若私钥设置了密码,可配合 ssh-agent 管理(启动 Terminal 前运行 Get-Service ssh-agent | Start-Service,再用 ssh-add ~.sshid_ed25519 加载)
利用 ~/.ssh/config 简化命令行
想让配置更清爽、支持别名和统一参数,可先配置 SSH 客户端本地文件:
- 在 Windows 用户目录下创建
%USERPROFILE%.sshconfig(无扩展名) - 写入如下内容:
Host myserver
HostName 192.168.1.100
User user
Port 22
IdentityFile ~/.ssh/id_ed25519
然后 profiles.json 中只需写:"commandline": "ssh myserver" —— 所有细节由 config 文件接管,增删改都更集中、不易出错











