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

2024-09-07 08:52

本文主要是介绍在 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 环境下实现免密登录。

这篇关于在 Windows 环境下实现免密登录 Linux 服务器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144620

相关文章

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

opencv图像处理之指纹验证的实现

《opencv图像处理之指纹验证的实现》本文主要介绍了opencv图像处理之指纹验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、简介二、具体案例实现1. 图像显示函数2. 指纹验证函数3. 主函数4、运行结果三、总结一、

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu