Windows SSH 应用

概述

SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地进行远程登录和其他网络服务。在 Windows 环境下,它主要用于安全地连接到远程服务器、传输文件等操作,通过加密机制确保数据传输的保密性、完整性和真实性。windows下默认存储路径如下。
在这里插入图片描述

公私钥生成方法

  1. 使用 Windows 自带的 OpenSSH 工具

    • 步骤一:打开命令提示符或 PowerShell

      • 在 Windows 的开始菜单中搜索 “命令提示符” 或 “PowerShell” 并打开。
    • 步骤二:生成密钥对

      • 输入命令

        ssh - keygen -t rsa -b 4096
        

        (以生成 RSA 类型、4096 位的密钥对为例)。

        • -t参数指定密钥类型,RSA 是一种常用的非对称加密算法,具有较高的安全性。
        • -b参数指定密钥长度,较长的密钥长度可以提供更强的安全性,但也会增加计算资源的消耗。
      • 按下回车键后,系统会提示您输入保存密钥文件的路径。默认路径是C:\Users\Administrator\\.ssh,直接回车即可接受默认路径。

      • 接着系统会询问是否设置密码短语(passphrase)。如果设置了密码短语,每次使用私钥进行身份验证时都需要输入该密码短语,这增加了安全性;如果不设置,身份验证过程会更便捷,但安全性相对较低。

    • 步骤三:查看生成的密钥文件

      • C:\Users\Administrator\\.ssh目录下,会生成两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。私钥文件是保密的,不能泄露给他人,而公钥文件可以发送给远程服务器用于身份验证。
  2. 使用第三方工具(如 PuTTY)

    • 步骤一:下载和安装 PuTTY 及 PuTTYgen
      • 从 PuTTY 官方网站下载 PuTTY 和 PuTTYgen 工具。PuTTY 是一个 SSH 和 telnet 客户端,PuTTYgen 用于生成 SSH 密钥对。
    • 步骤二:生成密钥对
      • 打开 PuTTYgen,在 “参数” 区域选择密钥类型(如 RSA)和密钥长度。
      • 点击 “Generate” 按钮,然后在出现的空白区域内随机移动鼠标,直到进度条完成,这样就生成了密钥对。
    • 步骤三:保存密钥文件
      • 在 PuTTYgen 中,可以通过 “Save private key” 按钮保存私钥文件,通常保存为.ppk 格式。公钥内容可以通过复制文本框中的内容获取,用于发送给远程服务器。

应用示例

Git SSH 配置

将公钥添加到 Git 服务器
  • 登录到 GitLab 账户。
  • 点击右上角的头像,选择 “Preferences”。
  • 在左侧菜单中点击 “SSH Keys”。
  • 在 “Title” 字段中为你的密钥输入一个名称。
  • 将公钥内容粘贴到 “Key” 字段中。
  • 点击 “Add Key” 按钮完成添加。
  • 在这里插入图片描述
配置本地 Git 使用 SSH
  1. 检查现有远程仓库连接方式

    • 打开命令提示符或 Git Bash,进入本地 Git 仓库所在的目录。

    • 输入

      git remote -v
      

      ,这会显示当前仓库的远程连接信息,格式类似于:

      • origin https://github.com/用户名/仓库名.git (fetch)
      • origin https://github.com/用户名/仓库名.git (push)
    • 如果显示的是https开头的连接方式,你可能需要将其转换为ssh连接方式。

  2. 转换远程仓库连接方式为 SSH

    • 对于上述的origin远程仓库,输入命令git remote set - url origin git@github.com:用户名/仓库名.git(将其中的 “用户名” 和 “仓库名” 替换为实际的值)。

    • 再次输入

      git remote -v
      

      来确认远程连接方式已经成功转换为

      ssh
      

      格式,应该显示类似如下内容:

      • origin git@github.com:用户名/仓库名.git (fetch)
      • origin git@github.com:用户名/仓库名.git (push)
  3. 配置全局或局部 SSH 命令(可选)

    • 全局配置:如果想在所有 Git 仓库中使用特定的 SSH 命令(例如,指定私钥路径),可以使用git config --global core.sshCommand "ssh -i C:/Users/用户名/.ssh/id_rsa"(将 “用户名” 替换为实际的值)。这样,在所有仓库进行 SSH 相关操作时,都会使用这个指定的私钥进行身份验证。
    • 局部配置:如果只想在某个特定的仓库中使用特定的 SSH 命令,可以在该仓库目录下执行git config core.sshCommand "ssh -i C:/Users/用户名/.ssh/id_rsa",这种配置只对当前仓库生效。

VSCode 远程免密登陆服务器

  1. 服务器端配置

    • 步骤一:将公钥添加到服务器的授权密钥文件

      • 登录到远程服务器(可以使用密码登录或者已经配置好的 SSH 密钥登录)。
      • 如果服务器上没有~/.ssh目录,则创建该目录并设置正确的权限:mkdir -p ~/.ssh && chmod 700 ~/.ssh
      • 将本地生成的公钥(例如,通过cat C:\Users\Administrator\\.ssh\id_rsa.pub获取内容)添加到服务器的~/.ssh/authorized_keys文件中。可以使用echo "公钥内容" >> ~/.ssh/authorized_keys命令进行添加。
    • 步骤二:检查服务器 SSH 配置文件(可选)

      • 查看服务器的

        /etc/ssh/sshd_config
        

        文件,确保以下配置项正确设置:

        • RSAAuthentication yes:允许 RSA 密钥认证。
        • PubkeyAuthentication yes:允许公钥认证。
        • AuthorizedKeysFile.ssh/authorized_keys:指定授权密钥文件的位置。
      • 修改配置文件后,需要重启 SSH 服务(不同操作系统重启命令不同,例如在 Ubuntu 上是sudo service ssh restart)。

  2. VSCode 端配置

    • 步骤一:安装 Remote - SSH 扩展
      • 打开 VSCode,在扩展商店中搜索 “Remote - SSH” 并安装。
    • 步骤二:配置远程连接
      • 在 VSCode 的侧边栏中点击 “Remote Explorer” 图标,然后在 “SSH Targets” 下点击 “+” 号。
      • 输入远程服务器的 SSH 连接信息,格式为ssh - user@server -p port(其中 user 是服务器用户名,server 是服务器 IP 地址或域名,port 是 SSH 服务端口,默认是 22)。
    • 步骤三:连接服务器
      • 点击新添加的远程连接条目,选择 “Connect to Host in New Window”,VSCode 会自动使用本地的私钥进行身份验证,成功后就可以在 VSCode 中远程编辑服务器上的文件,实现免密登录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值