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

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

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

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

教程

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

2.1 确认环境要求

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

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

    bash 复制代码
    PubkeyAuthentication yes

2.2 步骤 1:生成 SSH 密钥对

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

    cmd 复制代码
    ssh-keygen -t rsa
    • 按提示选择保存路径(默认为 C:\Users\你的用户名\.ssh\id_rsa)。

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

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

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

2.3 步骤 2:将公钥上传到服务器

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

    cmd 复制代码
    scp .ssh/id_rsa.pub 用户名@10.10.100.xx:~/id_rsa.pub
    • 替换 用户名 为你的服务器账户名(如 user)。
  2. 登录服务器并添加公钥:

    bash 复制代码
    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 配置文件,简化登录命令:

  1. 创建或编辑配置文件:

    powershell

    notepad ~/.ssh/config

  2. 添加以下内容:

    plaintext 复制代码
    Host myserver
    
    ​    HostName 10.10.100.99
    
    ​    User 用户名
    
    ​    IdentityFile ~/.ssh/id_rsa
    • 替换 用户名 为服务器账户名。
  3. 后续登录只需: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 登录流程

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

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

  3. 登录时的身份验证 :

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

1.3 安全性说明

  • 私钥文件(如 id_rsa)必须妥善保管,避免泄露。
  • 服务器上的 ~/.ssh/authorized_keys 文件权限需严格限制(如 600),否则 SSH 会拒绝登录。
  • 可选择为私钥设置 passphrase,但免密登录通常不设。
相关推荐
skywalk81633 分钟前
windows10 explorer占用太多内存问题解决
服务器·内存·windows10·explorer
张小姐的猫4 分钟前
【Linux】网络编程 —— 多路转接:epoll
linux·运维·网络
天意__37 分钟前
Linux部署Qwen轻量模型
linux·服务器·qwen
对空六课1 小时前
无头浏览器访问对跳出率的过滤规则
服务器·前端·算法·数据分析
木卫二号Coding1 小时前
第八十六篇-Strata 部署指南(Ubuntu 22.04 + Tesla V100【单卡】)
linux·运维·人工智能·ubuntu
linweidong1 小时前
Redis 集群故障排查与修复实战:从 Connection refused 到内存打满的七个现场
运维·数据库·redis·缓存·redis集群·运维面经·实施面经
开开心心就好1 小时前
一元二次方程求解工具,答案带详细步骤
java·服务器·开发语言·算法·pdf·ocr·perl
酒神dnspup1 小时前
IPv6 网站访问异常怎么查?DNSPup 双栈检测、DNS 与端口排障指南
运维·云计算·域名·dns·dnspup
Data analyse4561 小时前
数据埋点设计的事件命名规则校验
服务器·前端·数据分析