如何为 SSH 使用新的 Windows 终端应用程序? [关闭]
Posted
技术标签:
【中文标题】如何为 SSH 使用新的 Windows 终端应用程序? [关闭]【英文标题】:How to use a new Windows Terminal app for SSH? [closed] 【发布时间】:2019-12-13 06:32:33 【问题描述】:Windows Terminal 应用程序被宣传为所有终端工作的中心枢纽,因此我对一种将我的 SSH 连接引入其中并替换旧 PuTTY 的方法感兴趣。
【问题讨论】:
【参考方案1】:您可以使用profile configuration 中的commandline
字段在标签创建时启动SSH 连接。
分步指南:
-
确保您有一个 SSH 客户端(尝试从
Command Prompt
选项卡连接到服务器)。 @dhgouveia2's post 详细说明此步骤。
打开设置 (Ctrl+,)
在"profiles"
对象中查找"list"
数组
查找Command Prompt
个人资料 ("commandline": "cmd.exe"
)
复制配置文件(复制粘贴整个对象,注意对象之间的逗号)
将 "guid"
值更改为新的 GUID(例如,from here)
将commandline
值更改为"commandline" : "ssh me@my-server -p 22 -i ~/.ssh/id_rsa"
(使用您自己的连接命令)。
更改个人资料的"name"
添加 "icon" : "ms-appx:///ProfileIcons/9acb9455-ca41-5af7-950f-6bca1bc9722f.png"
项目以使用 Tux 图标(默认图标为 here)
你应该有这样的东西:
"$schema": "https://aka.ms/terminal-profiles-schema",
"profiles":
"list":
[
// ...
"guid": "1d43c510-93e8-4960-a18b-e432641e0930",
"name": "ssh my-server",
"icon" : "ms-appx:///ProfileIcons/9acb9455-ca41-5af7-950f-6bca1bc9722f.png",
"commandline": "ssh me@my-server -p 22 -i ~/.ssh/id_rsa"
]
保存配置并享受新标签下拉菜单中的新项目。
【讨论】:
如果您想使用 WSL 而不是 Powershell 进行连接,您可以使用“debian run ssh me@my-server -p 22 -i ~/.ssh/id_rsa”。我使用 Debian 作为我的 WSL 安装,这可能因 WSL 操作系统而异。【参考方案2】:您可以从 Windows 10 使用本机 ssh 客户端,
从 powershell
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
# This should return the following output:
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
安装 OpenSSH 客户端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
它应该返回以下输出:
Path :
Online : True
RestartNeeded : False
卸载 OpenSSH 客户端
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
将主机添加到您的 ssh 配置文件中
从您的主文件夹,转到 .ssh/config 文件,如果未使用 ssh 应用程序,该文件夹可能不存在,因此有必要在您的主文件夹上创建它
C:\Users\%USERPROFILE%\.ssh
@Damo 发布关于 ssh 配置的非常好的文档。
例如config
Host test
User test
HostName 127.0.0.1
Port 22
IdentityFile ~/.ssh/id_rsa
Windows 终端
类似于@Himura 指令,但不是使用“bash.exe”,而是使用“ssh.exe”。
要连接到远程主机,可以使用 .ssh/config 文件中的主机名,例如 ssh.exe test
,如果不想使用配置文件,可以使用 user@ip ssh.exe test@127.0.0.1
和密码对话框将被提示
profile.json
,
复制个人资料
将“guid”值更改为新的 GUID
使用 ssh.exe 更改命令行值,例如 "commandline" : "ssh.exe test"
更改配置文件的“名称”
例如
C:\Users\%USERPROFILE%\.ssh\config
Host vagrant
Hostname 127.0.0.1
Port 2222
User vagrant
IdentityFile ~/.ssh/vagrant.key
profile.json
...
"acrylicOpacity" : 0.75,
"closeOnExit" : true,
"colorScheme" : "One Half Dark",
"commandline" : "ssh.exe vagrant",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "DejaVu Sans Mono for Powerline",
"fontSize" : 10,
"guid" : "1777cdf0-b2c4-5a63-a204-1111f349ea7c",
"historySize" : 9001,
"icon" : "ms-appx:///ProfileIcons/9acb9455-ca41-5af7-950f-6bca1bc9722f.png",
"name" : "Vagrant",
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
"startingDirectory" : "%USERPROFILE%",
"useAcrylic" : true
....
如果要将新条目设置为默认值,请搜索 defaultProfile
键
....
"globals" :
"alwaysShowTabs" : true,
"copyOnSelect" : false,
"defaultProfile" : "1777cdf0-b2c4-5a63-a204-1111f349ea7c",
"initialCols" : 120,
"initialRows" : 30,
....
【讨论】:
【参考方案3】:如果您想留在终端并轻松管理 WSL 中的所有 ssh 连接,那么我建议您在 ssh 命令中使用内置的 ssh 配置管理。
基本上,您将所有不同的 ssh 配置放入文件 ~/.ssh/config
有一篇很好的帖子记录了这个here的基本用法
希望这会有所帮助。
【讨论】:
【参考方案4】:如果您想使用 Windows 终端连接到 Google Compute Engine 上的机器,您可以编写一个脚本来替换默认命令并使用 ssh 代替 putty.exe。更多详情here.
【讨论】:
以上是关于如何为 SSH 使用新的 Windows 终端应用程序? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何为本地 git (github) 存储库永久添加 SSH 密钥? [复制]