当前位置: 首页 > news >正文

在 Windows 环境下实现免密登录 Linux 服务器

在 Windows 环境下实现免密登录 Linux 服务器

      • 1. 生成 SSH 密钥对
      • 2. 手动将公钥上传到服务器
        • 方法 1:使用 `scp` 传输公钥文件
        • 方法 2:使用 Windows 内置工具或编辑器手动复制
      • 3. 测试免密登录
      • 4. 可能需要的工具

以下是在 Windows 中实现免密登录的步骤:

1. 生成 SSH 密钥对

在 Windows 中使用 Git Bash 或者 PowerShell 生成 SSH 密钥对:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

按照提示,生成 id_rsa(私钥)和 id_rsa.pub(公钥)文件。

2. 手动将公钥上传到服务器

方法 1:使用 scp 传输公钥文件

你可以使用 scp 将本地的 id_rsa.pub 文件上传到服务器,然后登录服务器手动添加到 authorized_keys 中。

  1. 使用 scp 将公钥文件上传到服务器:

    scp C:\Users\<YourUsername>\.ssh\id_rsa.pub username@server_ip:~/
    
  2. 登录到服务器:

    ssh username@server_ip
    
  3. 将公钥文件追加到 ~/.ssh/authorized_keys 中:

    mkdir -p ~/.ssh
    cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
  4. 删除服务器上的 id_rsa.pub,以免暴露公钥:

    rm ~/id_rsa.pub
    
方法 2:使用 Windows 内置工具或编辑器手动复制
  1. 打开 id_rsa.pub 文件,复制里面的公钥内容。你可以在 PowerShellNotepad 中打开文件:

    notepad ~/.ssh/id_rsa.pub
    
  2. 登录到服务器:

    ssh username@server_ip
    
  3. 在服务器上创建或编辑 ~/.ssh/authorized_keys 文件:

    nano ~/.ssh/authorized_keys
    
  4. 将本地复制的公钥内容粘贴到 authorized_keys 文件中,然后保存。

  5. 确保权限正确设置:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    

3. 测试免密登录

尝试使用 sshscp 命令登录服务器,确认是否免密成功。

ssh username@server_ip

4. 可能需要的工具

在 Windows 下可以使用 Git BashWindows Subsystem for Linux (WSL)PuTTY 来执行这些操作,特别是当你需要更多类 Unix 工具时。

这样,通过手动复制公钥,你就可以在 Windows 环境下实现免密登录。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Spring之Bean的生命周期 2024-9-6 19:47
  • 水晶连连看 - 无限版软件操作说明书
  • 分布式光伏的优势
  • 深度学习从入门到精通——yolov3算法介绍
  • K8s中pod控制器
  • vscode debug
  • MySQL数据库的介绍
  • yarn create vite时报错error Error: EPERM: operation not permitted, mkdir
  • STM32+ESP8266+MQTT协议连接阿里云实现温湿度上传
  • .NET/C#⾯试题汇总系列:⾯向对象
  • 单片机-STM32 看门狗(八)
  • GIL及相关总结
  • 神经网络的线性部分和非线性部分
  • pywin32库的安装与配置:在Windows环境下控制Office应用
  • 使用视图方式操作MySQL数据表
  • 【Linux系统编程】快速查找errno错误码信息
  • 【个人向】《HTTP图解》阅后小结
  • chrome扩展demo1-小时钟
  • Cumulo 的 ClojureScript 模块已经成型
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • mockjs让前端开发独立于后端
  • 阿里研究院入选中国企业智库系统影响力榜
  • 前端路由实现-history
  • 通过几道题目学习二叉搜索树
  • 微信小程序:实现悬浮返回和分享按钮
  • 字符串匹配基础上
  • 做一名精致的JavaScripter 01:JavaScript简介
  • linux 淘宝开源监控工具tsar
  • scrapy中间件源码分析及常用中间件大全
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • $NOIp2018$劝退记
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (NSDate) 时间 (time )比较
  • (九)信息融合方式简介
  • (五)IO流之ByteArrayInput/OutputStream
  • (转) Face-Resources
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • (转载)(官方)UE4--图像编程----着色器开发
  • ***详解账号泄露:全球约1亿用户已泄露
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • . Flume面试题
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • @JsonSerialize注解的使用
  • [.NET 即时通信SignalR] 认识SignalR (一)
  • [AI aider] 打造终端AI搭档:Aider让编程更智能更有趣!
  • [Android]通过PhoneLookup读取所有电话号码
  • [BT]BUUCTF刷题第8天(3.26)
  • [C#C++]类CLASS
  • [c++] 单例模式 + cyberrt TimingWheel 单例分析
  • [CF226E]Noble Knight's Path