XiaodaBlogSource/source/_posts/Windows-Terminal.md
2025-12-30 16:21:41 +08:00

4.6 KiB
Raw Blame History

title, date, tags
title date tags
Windows Terminal 2025-12-12 09:31:56

SSH

生成 SSH 密钥

  1. SSH 秘钥默认储存在账户的主目录下的 ~/.ssh 目录 如:C:\Users\用户\.ssh\

    查看是否包含id_rsa和id_rsa.pub(或者是id_dsa和id_dsa.pub之类成对的文件),有.pub 后缀的文件就是公钥,另一个文件则是密钥。

    如果有这两个文件则跳过1.2;如果没有这两个文件,甚至.ssh目录也没有则需要用ssh-keygen 来创建

  2. 生成密钥信息

    .ssh 目录下右键打开[Git Bash](https://so.csdn.net/so/search?q=Git Bash&spm=1001.2101.3001.7020)(.ssh目录不存在则在任一目录下操作或者手动创建该目录)

  3. 生成密钥

    ssh-keygen -t rsa -C "注释信息一般为邮箱your_email@youremail.com"

  4. 在~/.ssh/下会生成两个文件id_rsa和id_rsa.pub

    id_rsa是私钥

    id_rsa.pub是公钥

  5. 启动 PuTTY Key Generator image-20250416151051085

  6. 选择之前生成的id_rsa image-20250416151307312

  7. 出现如下,选择 Save private key 保存秘钥 image-20250416151416275

  8. 保存到 ~/.ssh 目录即可 image-20250416151503685

配置 SSH

  1. 确认 .ssh 目录位置

SSH 的配置文件通常位于当前用户目录下的 .ssh 文件夹中。

  • 路径通常是: C:\Users\你的用户名\.ssh\

你可以按 Win + R,输入 %USERPROFILE%\.ssh 并回车。

  • 如果文件夹存在: 直接进入。
  • 如果文件夹不存在: 打开命令提示符CMD或 PowerShell输入 mkdir .ssh 创建它。
  1. 创建 config 文件

.ssh 文件夹内,创建一个名为 config 的文件。

  • 注意: 文件名必须是 config没有任何后缀名(不要叫 config.txt)。
  • 创建方法: 在文件夹内右键 -> 新建文本文档 -> 命名为 config -> 删除 .txt 后缀 -> 确认修改。
  1. 编辑 config 文件 使用任意文本编辑器如记事本、VS Code、Notepad++)打开该文件,按照以下格式添加内容。 基础语法结构

    Host 别名
        HostName 主机IP或域名
        Port 端口号 (如果是默认22端口可省略)
        User 用户名
        IdentityFile 私钥路径 (如果是密码登录可省略)
    	PreferredAuthentications publickey
    
  2. 远程 Linux 服务器配置 ssh 公钥

    vim ~/.ssh/authorized_keys
    

    内容使用PuTTY Key GeneratorLoad Private Key 后显示的 Public key,内容换行追加即可image-20251212094845175

  3. 测试连接

    ssh <你的Host别名>
    # 例如: ssh myserver
    

访问 Windows SSH 客户端和 SSH 服务器

最新版本的 Windows 10 和 Windows 11 包含基于 OpenSSH一个使用 SSH 协议进行远程登录的连接工具)的内置 SSH 服务器和客户端。 OpenSSH 加密客户端与服务器之间的所有流量,从而遏止窃听、连接劫持和其他攻击。

默认情况下OpenSSH 客户端和 OpenSSH 服务器位于以下目录:C:\Windows\System32\OpenSSH。 你还可以检查它是否存在于“Windows 设置”>“系统”>“可选功能”中然后在添加的功能中搜索“OpenSSH”。

ssh_optionalfeature

创建档案

你可以通过执行 ssh user@machine 在命令提示符下启动 SSH 会话,系统将提示你输入密码。 可以将 commandline 设置添加到配置文件对象的 list 内的 settings.json 文件 中的配置文件,以创建在启动时执行此项的 Windows 终端配置文件。

{
  "name": "user@machine ssh profile",
  "commandline": "ssh user@machine"
}

指定起始目录

若要指定 Windows 终端调用的 ssh 会话的起始目录,可以使用以下命令:

{
  "commandline": "ssh -t bob@foo \"cd /data/bob && exec bash -l\""
}

-t 标志强制执行伪终端分配。 这可用于在远程计算机上执行任意基于屏幕的程序,例如实现菜单服务。 将需要使用转义双引号,因为 bourne 外壳派生物不会为单引号中的字符串执行任何额外分析。