云计算百科
云计算领域专业知识百科平台

window下配置ssh免密登录服务器

window下配置ssh免密登录服务器

本地windows远程登录我的ssh服务器10.10.101.xx服务器,想要每次都免密登录这个服务器.

记录下教程,防止后期忘记,指导我实现这个过程。

教程

二、实践步骤:Windows 上配置 SSH 免密登录

2.1 确认环境要求

  • Windows 版本 :Windows 10 1809 或更高版本(已内置 OpenSSH 客户端)。

  • 服务器确保 sshd_config 中启用公钥认证(默认已启用):

    PubkeyAuthentication yes

2.2 步骤 1:生成 SSH 密钥对

  • 打开 PowerShell 或 CMD,运行以下命令生成密钥:

    ssh-keygen -t rsa

    • 按提示选择保存路径(默认为 C:\\Users\\你的用户名\\.ssh\\id_rsa)。

    • 设置 passphrase(可直接回车跳过,实现免密登录)。

      在这里插入图片描述

  • 生成后,你会得到两个文件:

    • 私钥 :~/.ssh/id_rsa(本地保留)
    • 公钥 :~/.ssh/id_rsa.pub(需上传到服务器)
  • 2.3 步骤 2:将公钥上传到服务器

    方法一:使用 scp 和手动追加
  • 上传公钥文件到服务器:

    scp .ssh/id_rsa.pub 用户名@10.10.100.xx:~/id_rsa.pub

    • 替换 用户名 为你的服务器账户名(如 user)。
    • 在这里插入图片描述
  • 登录服务器并添加公钥:

    ssh 用户名@10.10.100.99

    mkdir -p ~/.ssh

    cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

    chmod 700 ~/.ssh

    chmod 600 ~/.ssh/authorized_keys

    rm ~/id_rsa.pub

  • 在这里插入图片描述

    2.4 步骤 3:配置 SSH 客户端(可选)

    编辑本地 SSH 配置文件,简化登录命令:

  • 创建或编辑配置文件:

    powershell

    notepad ~/.ssh/config

  • 添加以下内容:

    Host myserver

    ​ HostName 10.10.100.99

    ​ User 用户名

    ​ IdentityFile ~/.ssh/id_rsa

    • 替换 用户名 为服务器账户名。
  • 后续登录只需:ssh myserver

  • 2.5 步骤 4:测试免密登录

    运行以下命令测试:ssh 用户名@10.10.100.99

    或使用配置别名:ssh myserver

    • 如果无需输入密码即可登录,说明配置成功!

    原理

    一、原理讲解:SSH 公钥认证如何工作?

    1.1 非对称加密基础

    SSH 免密登录基于 非对称加密 (Asymmetric Cryptography),使用一对密钥:

    • 公钥(Public Key) :可公开分享,用于加密或验证身份。
    • 私钥(Private Key) :必须严格保密,用于解密或证明身份。

    1.2 SSH 登录流程

  • 客户端生成密钥对 :在本地生成公钥和私钥。

  • 上传公钥到服务器 :将公钥添加到服务器的 ~/.ssh/authorized_keys 文件中。

  • 登录时的身份验证 :

    • 服务器发送一个随机挑战(Challenge)。
    • 客户端用私钥加密该挑战并返回。
    • 服务器用公钥解密,验证身份,无需密码即可登录。
  • 1.3 安全性说明

    • 私钥文件(如 id_rsa)必须妥善保管,避免泄露。
    • 服务器上的 ~/.ssh/authorized_keys 文件权限需严格限制(如 600),否则 SSH 会拒绝登录。
    • 可选择为私钥设置 passphrase,但免密登录通常不设。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » window下配置ssh免密登录服务器
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!