在 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 环境下实现免密登录。

相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒2 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪3 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5203 天前
Linux 11 动态监控指令top
linux