在 Win11 PowerShell 中通过 SSH 密钥实现无密码访问 Linux 服务器,公钥使用 方法2 手动复制

公钥使用 方法2 手动复制!
公钥使用 方法2 手动复制!
公钥使用 方法2 手动复制!

在 Win11 PowerShell 中通过 SSH 密钥实现无密码访问 Linux 服务器

要在 Win11 PowerShell 中配置无密码访问 Linux 服务器,核心是通过 SSH 密钥认证 实现(替代密码登录),无需安装额外工具(Win11 自带 OpenSSH 客户端)。以下是完整步骤:

前提条件

  1. Linux 服务器已开启 SSH 服务(默认端口 22,需确保防火墙放行 22 端口)。
  2. Win11 已启用 OpenSSH 客户端
    • 打开「设置」→「应用」→「可选功能」→ 查看是否有 OpenSSH 客户端,无则点击「添加功能」安装。

步骤 1:在 Win11 PowerShell 生成 SSH 密钥对

  1. 管理员身份打开 PowerShell(右键开始菜单 → 选择 Windows PowerShell (管理员))。
    • -t rsa:指定密钥类型为 RSA
    • -b 4096:密钥长度,安全性更高
  2. 命令执行后会出现 3 次提示,全部按回车默认配置
    • 提示 1:Enter file in which to save the key → 密钥保存路径(默认 C:\Users\你的用户名.ssh\id_rsa
    • 提示 2:Enter passphrase → 密钥密码(留空 = 无密码,直接回车)
    • 提示 3:Enter same passphrase again → 再次确认密码(留空直接回车)
  3. 生成成功后,C:\Users\你的用户名.ssh\ 目录下会有 2 个文件:
    • id_rsa私钥(本地保存,绝对不能泄露)
    • id_rsa.pub公钥(需要上传到 Linux 服务器)

执行密钥生成命令:

ssh-keygen -t rsa -b 4096 

步骤 2:将公钥上传到 Linux 服务器

推荐 2 种方法,优先用方法 1(更便捷)。

方法 1:用 ssh-copy-id 自动上传(推荐)
  1. 首次执行会提示确认服务器指纹,输入 yes 回车,然后输入 Linux 服务器的密码,回车后公钥会自动上传到 Linux 服务器的 ~/.ssh/authorized_keys 文件中。

在 PowerShell 中执行以下命令,替换为你的 Linux 服务器信息:

ssh-copy-id -i C:\Users\你的用户名\.ssh\id_rsa.pub linux用户名@Linux服务器IP 
方法 2:手动复制公钥(备用,适用于 ssh-copy-id 不可用场景)
  1. 在 Win11 中打开 C:\Users\你的用户名.ssh\id_rsa.pub 文件,全选复制所有内容

登录 Linux 服务器(用密码登录),执行以下命令:

# 1. 创建 .ssh 目录(确保存在) 

mkdir -p /root/.ssh

2. 设置目录权限(必须为 700,SSH 认证的关键)

chmod 700 /root/.ssh

3. 将你的公钥写入 authorized_keys 文件(直接复制这条,公钥已完整填入)

echo “ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCX1p8u+W6ubDeDjEdQPzGfKuH4fIA2Kxh4wQC1MZH2iOS4vHzUxt2IYRbVcDkBR2JjDVRUX9D7cGWtfPUdrRm2Rl6gAT6Fve6dAKnpHT5iZgL7Fsxbs1I6MUT51DODCLtFOAUkrwkCdG7fdKCLfKkvGj0Lm82WqHg+qHOjSQp3lSGDYxPUIbXX9zyji/WR4ZJb4oXYRiBma0wya+zUwRv14okvfqR5VO+LHU9VXX/0OTru8EUhdp3STCs5xgHiQ7jj3Kw3pbDaE/q/t0bquijdJvWu3X00cnhrWVLdnd4IdmbcIf3Khh6rapHkUvyx/bsq2YFijdRDZ/xlMcOl9DuwtwUbJjkZ6AnBJ1dXkFlZbWDLsOziZ9+DUhNWXEzvxtjFb/IhruulOq9sSvREOPp97KKlFSjByarN8u0T2yHS+5CNR7RkCVHGi3ZVbu5OtQzH7qVVbiSDOE34sM78M6dJuNKhn55IulUFZ3gS/Jj1+uFzPBHN/A8sl/OKkfmqdnifirouE1KxC6lUtGHr23ULsi2TZ1a67l82n4JA9b6OSpYPg2tPGt7eJY3kz/i5/WpCAf5ZTlNzUDStfZfDidjZMxSMgRxs+dqn50RtIgkxUnVL2QUxnjXo9NxuHFTqROMsXxucaOZwnbY8UBzJZBLZLFneSgpC9U1UvWMrtsshbw== jeremy@snoopy” >> /root/.ssh/authorized_keys

4. 设置文件权限(必须为 600,否则密钥认证失效)

chmod 600 /root/.ssh/authorized_keys
```

步骤 3:测试无密码登录

在 Win11 PowerShell 中执行登录命令,无需输入密码即可成功连接:

# 1. 创建 .ssh 目录(如果不存在) mkdir -p ~/.ssh # 2. 设置目录权限(必须为 700,否则 SSH 会拒绝认证) chmod 700 ~/.ssh # 3. 将公钥内容写入 authorized_keys 文件 echo "你复制的公钥内容" >> ~/.ssh/authorized_keys # 4. 设置文件权限(必须为 600) chmod 600 ~/.ssh/authorized_keys 

示例:ssh [email protected]

常见问题排查

  1. 权限错误:Linux 服务器的 ~/.ssh 目录权限必须是 700authorized_keys 必须是 600,否则 SSH 会优先要求密码登录。
  2. SSH 服务未开启:Linux 服务器执行 sudo systemctl start sshd 启动服务,sudo systemctl enable sshd 设置开机自启。
  3. 防火墙拦截:Linux 服务器放行 22 端口,例如 sudo ufw allow 22(UFW 防火墙)。

Read more

Flutter 三方库 wasm_ffi 深入鸿蒙端侧硬核 WebAssembly 虚拟机沙盒穿透适配全景:通过异步极速 FFI 中继管道打通底层高算力异构服务-适配鸿蒙 HarmonyOS ohos

Flutter 三方库 wasm_ffi 深入鸿蒙端侧硬核 WebAssembly 虚拟机沙盒穿透适配全景:通过异步极速 FFI 中继管道打通底层高算力异构服务-适配鸿蒙 HarmonyOS ohos

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 wasm_ffi 深入鸿蒙端侧硬核 WebAssembly 虚拟机沙盒穿透适配全景:通过异步极速 FFI 中继管道打通底层高算力异构服务并全面实现无损语言壁垒交互 前言 在 OpenHarmony 应用向高性能计算领域扩展的过程中,如何优雅地接入已有的 C/C++ 算法库(如加密引擎、重型图像处理、数学模拟)而又不失跨平台的便捷性?传统的 NAPI 虽然稳健,但在 Flutter 生态中,直接利用 WebAssembly (WASM) 配合 FFI(External Function Interface)的语义可以在一定程度上实现代码的高度复用。wasm_ffi 库为 Flutter 开发者提供了一套在 Dart 环境下调用 WASM

By Ne0inhk
三种适用于Web版IM(即时通讯)聊天信息的加密算法实现方案

三种适用于Web版IM(即时通讯)聊天信息的加密算法实现方案

文章目录 * **第一部分:引言与核心密码学概念** * **1.1 为什么IM需要端到端加密(E2EE)?** * **1.2 核心密码学概念与工具** * **第二部分:方案一:静态非对称加密(基础方案)** * **2.1 方案概述与流程** * **2.2 前端Vue实现(使用node-forge)** * **1. 安装依赖** * **2. 核心工具类 `crypto.js`** * **3. Vue组件中使用** * **2.3 后端Java实现(Spring Boot)** * **1. 实体类** * **2. Controller层** * **3. WebSocket配置** * **2.4 密钥管理、注册与登录集成** * **1. 用户注册/登录时生成密钥** * **2. 密钥设置页面** * **2.

By Ne0inhk
前端代码生成的大洗牌:当 GLM 4.7 与 MiniMax 挑战 Claude Opus,谁才是性价比之王?

前端代码生成的大洗牌:当 GLM 4.7 与 MiniMax 挑战 Claude Opus,谁才是性价比之王?

在 AI 辅助编程领域,长期以来似乎存在一条不成文的铁律:如果你想要最好的结果,就必须为最昂贵的模型买单(通常是 Anthropic 或 OpenAI 的旗舰模型)。然而,随着国产大模型如 GLM 4.7 和 MiniMax M2.1 的迭代,这一格局正在发生剧烈震荡。 最近,一场针对Claude Opus 4.5、Gemini 3 Pro、GLM 4.7 和 MiniMax M2.1 的前端 UI生成横向测评,打破了许多人的固有认知。在这场包含落地页、仪表盘、移动端应用等五个真实场景的较量中,不仅出现了令人咋舌的“滑铁卢”,更诞生了性价比极高的“新王”。 本文将深入拆解这场测试的细节,透过代码生成的表象,探讨大模型在工程化落地中的真实效能与成本逻辑。

By Ne0inhk
【Java Web学习 | 第14篇】JavaScript(8) -正则表达式

【Java Web学习 | 第14篇】JavaScript(8) -正则表达式

🌈个人主页: Hygge_Code🔥热门专栏:从0开始学习Java | Linux学习| 计算机网络💫个人格言: “既然选择了远方,便不顾风雨兼程” 文章目录 * JavaScript 正则表达式详解 * 什么是正则表达式🤔 * JavaScript 正则表达式的定义与使用🥝 * 1. 字面量语法 * 2. 常用匹配方法 * test() 方法🍋‍🟩 * exec() 方法🍋‍🟩 * 正则表达式的核心组成部分🐦‍🔥 * 1. 元字符 * 边界符 * 量词 * 字符类 * 2. 修饰符 * 简单示例🍂 JavaScript 正则表达式详解 正则表达式是处理字符串的强大工具,在 JavaScript 中被广泛应用于表单验证、文本处理和数据提取等场景。本文将从正则表达式的基本概念出发,详细介绍其语法规则和实际应用方法。 什么是正则表达式🤔 正则表达式是用于匹配字符串中字符组合的模式,在 JavaScript

By Ne0inhk