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

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

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

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

1. 生成 SSH 密钥对

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

bash 复制代码
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 将公钥文件上传到服务器:

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

    bash 复制代码
    ssh username@server_ip
  3. 将公钥文件追加到 ~/.ssh/authorized_keys 中:

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

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

    bash 复制代码
    notepad ~/.ssh/id_rsa.pub
  2. 登录到服务器:

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

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

  5. 确保权限正确设置:

    bash 复制代码
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys

3. 测试免密登录

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

bash 复制代码
ssh username@server_ip

4. 可能需要的工具

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

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

相关推荐
雪碧聊技术26 分钟前
linux(centos7)如何执行python脚本
linux·python3·爬虫脚本·linux安装python3·linux运行爬虫脚本
lbb 小魔仙27 分钟前
Ubuntu 22.04 安装 Docker 完整步骤(附镜像加速配置)
linux·ubuntu·docker
染指111031 分钟前
19.0环保护进程-Windows驱动
windows·驱动开发·内核·保护
YJlio2 小时前
Windows Sysinternals 文件工具学习笔记(12.11):综合实战——从磁盘告警到文件替换的一条龙排障
windows·笔记·学习
Full Stack Developme3 小时前
Linux 多种压缩格式,优缺点和适用场景
linux·运维·服务器
旖旎夜光3 小时前
Linux(4)(下)
linux·学习
TG:@yunlaoda360 云老大8 小时前
华为云国际站代理商GeminiDB的企业级高可用具体是如何实现的?
服务器·网络·数据库·华为云
Shanxun Liao8 小时前
Cenots 7.9 配置多台 SSH 互信登陆免密码
linux·运维·ssh
j_xxx404_8 小时前
Linux:第一个程序--进度条|区分回车与换行|行缓冲区|进度条代码两个版本|代码测试与优化
linux·运维·服务器
是一个Bug8 小时前
Java基础50道经典面试题(四)
java·windows·python