如何为 SSH 使用新的 Windows 终端应用程序?

Him*_*ura 32 windows ssh terminal console windows-subsystem-for-linux

Windows终端应用程序被标榜为所有终端工作的中心枢纽,所以我感兴趣的方式带给我的SSH连接到它,并取代古老的腻子。

Him*_*ura 32

您可以使用配置文件配置中commandline字段在选项卡创建时启动 SSH 连接。

分步指南:

  1. 确保您有一个 SSH 客户端(尝试从Command Prompt选项卡连接到服务器)。@dhgouveia2 的帖子详细介绍了这一步。
  2. 打开设置(Ctrl+,)
  3. "list""profiles"对象中查找数组
  4. 查找Command Prompt个人资料 ( "commandline": "cmd.exe")
  5. 复制配置文件(复制粘贴整个对象,注意对象之间的逗号)
  6. "guid"值更改为新的 GUID(例如,从此处
  7. commandline值更改为"commandline" : "ssh me@my-server -p 22 -i ~/.ssh/id_rsa"(使用您自己的连接命令)。
  8. 更改个人资料 "name"
  9. 添加"icon" : "ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png"项目以使用 Tux 图标(此处为默认图标)
  10. 你应该有这样的事情:
    {
        "$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"
                }
            ]
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  11. 保存配置并享受新标签下拉菜单中的新项目。

  • 如果您想使用 WSL 而不是 Powershell 进行连接,可以使用“debian run ssh me@my-server -p 22 -i ~/.ssh/id_rsa”。我使用 Debian 作为 WSL 安装,这可能因 WSL 操作系统而异。 (3认同)

dhg*_*ia2 29

您可以使用来自 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
Run Code Online (Sandbox Code Playgroud)

安装 OpenSSH 客户端

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Run Code Online (Sandbox Code Playgroud)

它应该返回以下输出:

Path          :
Online        : True
RestartNeeded : False
Run Code Online (Sandbox Code Playgroud)

卸载 OpenSSH 客户端

Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Run Code Online (Sandbox Code Playgroud)

将主机添加到您的 ssh 配置文件

从您的主文件夹转到 .ssh/config 文件,如果未使用 ssh 应用程序,该文件夹可能不存在,因此有必要在您的主文件夹中创建它

C:\用户\%USERPROFILE%\.ssh

@Damo发布了关于 ssh 配置的非常好的文档。

例如 config

Host test
    User test
    HostName 127.0.0.1
    Port 22
    IdentityFile ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

视窗终端

类似于@Himura说明,但您将使用“ssh.exe”而不是“bash.exe”。

为了连接到远程主机,你可以使用 .ssh/config 文件中的主机名,例如ssh.exe test,如果你不想使用配置文件,你可以使用 user@ipssh.exe test@127.0.0.1并且密码对话框将被提示

  • profile.json在 Windows 终端上编辑您的设置,
  • 复制个人资料
  • 将“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
Run Code Online (Sandbox Code Playgroud)

配置文件.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
  }
  ....
Run Code Online (Sandbox Code Playgroud)

如果要将新条目设置为默认值,请搜索defaultProfile密钥

....
   "globals" : 
    {
        "alwaysShowTabs" : true,
        "copyOnSelect" : false,
        "defaultProfile" : "{1777cdf0-b2c4-5a63-a204-1111f349ea7c}",
        "initialCols" : 120,
        "initialRows" : 30,
....
Run Code Online (Sandbox Code Playgroud)