当前位置: 首页 > news >正文

如何在Windows电脑上设置SSH密钥免密登录Ubuntu Server

如何在Windows电脑上设置SSH密钥免密登录Ubuntu Server

以下是在Windows电脑上设置SSH密钥免密登录Ubuntu Server的完整、可靠、一步到位的操作步骤,假设你的环境如下。
把下文中的xxx.yy.zz.www替换为你的ip,然后初始密码就是你这个服务器的密码。

本地电脑:Windows 10/11(使用 PowerShell + OpenSSH 客户端) 远程服务器:Ubuntu Server 24.04 LTS 服务器信息: IP:xxx.yy.zz.www 用户名:ubuntu 初始密码:chushimimachushimima

✅ 最终目标
在 Windows PowerShell 中执行:

ssh ubuntu-server

即可直接登录,无需输入密码。

🔧 完整操作步骤(请严格按顺序执行)

第一步:在 Windows 上生成专用 SSH 密钥

打开 PowerShell(以普通用户运行)

生成专用密钥(不设 passphrase,实现完全免交互)
ssh-keygen -t ed25519 -C “ubuntu-server” -f “env:USERPROFILE.sshid_ed25519_ubuntu”

  • 连续按 回车(不要输入 passphrase)
  • 私钥保存为:C:UsersAdministrator.sshid_ed25519_ubuntu
  • 公钥保存为:C:UsersAdministrator.sshid_ed25519_ubuntu.pub

第二步:将公钥上传到服务器

  1. 确保服务器有 .ssh 目录
ssh ubuntu@xxx.yy.zz.www "mkdir -p ~/.ssh && chmod 700 ~/.ssh"
  1. 上传公钥(会提示输入一次密码)
type env:USERPROFILE.sshid_ed25519_ubuntu.pub | ssh ubuntu@xxx.yy.zz.www "cat >> ~/.ssh/authorized_keys"
  1. 设置正确权限(关键!)
ssh ubuntu@xxx.yy.zz.www "chmod 600 ~/.ssh/authorized_keys"

💡 输入密码时不会显示字符,输完直接回车即可。

第三步:创建 SSH 配置文件(简化登录命令)

自动生成正确的 config 文件

@" Host ubuntu-server HostName xxx.yy.zz.www User ubuntu IdentityFile ~/.ssh/id_ed25519_ubuntu IdentitiesOnly yes "@ | Out-File -FilePath env:USERPROFILE.sshconfig -Encoding ASCII

✅ 此命令确保路径为 ~/.ssh/…(不是 /.ssh/…),且编码兼容。

第四步:测试免密登录

使用别名登录

ssh ubuntu-server

✅ 如果直接进入服务器命令行(如ubuntu@VM-0-7-ubuntu:~),说明成功!

若仍提示密码,请跳到下方【故障排查】。

第五步(可选但推荐):禁用密码登录(提升安全)

⚠️ 仅在确认免密登录成功后操作!

  1. 登录服务器:
ssh ubuntu-server
  1. 在服务器上执行:
# 禁用密码登录,启用密钥登录 sudo sed -i 's/PasswordAuthentication./PasswordAuthentication no/' /etc/ssh/sshd_config sudo sed -i 's/PubkeyAuthentication./PubkeyAuthentication yes/' /etc/ssh/sshd_config # 重启 SSH 服务 sudo systemctl restart sshd
  1. 退出并再次测试:
exit ssh ubuntu-server

应仍然能直接登录。

🔒 额外安全建议

  1. 立即修改初始密码(即使禁用密码登录):
passwd
  1. 备份私钥:
- 备份 C:UsersAdministrator.sshid_ed25519_ubuntu 到安全位置 - 不要泄露此文件!
  1. 公钥(.pub文件)可公开分享,无安全风险。

🛠 故障排查

❌ 问题:仍提示输入密码?

检查 1:公钥是否已上传?
查看服务器上的authorized_keys

ssh ubuntu@xxx.yy.zz.www "cat ~/.ssh/authorized_keys"

应包含一行以ssh-ed25519 AAAAC3...开头的内容。

检查 2:权限是否正确?

ssh ubuntu@xxx.yy.zz.www "ls -ld ~ ~/.ssh ~/.ssh/authorized_keys"

正确权限:

/home/ubuntu:drwxr-xr-x(755) ~/.ssh:drwx------(700) ~/.ssh/authorized_keys:-rw-------(600)

检查 3:config 文件是否正确?

Get-Content $env:USERPROFILE.sshconfig

必须包含:

IdentityFile ~/.ssh/id_ed25519_ubuntu

完成以上所有步骤后,你将拥有一个安全、便捷、免密的 SSH 连接。

http://www.jsqmd.com/news/285254/

相关文章:

  • 2026 AI论文工具终极指南:全流程合规提效
  • 全面解析:2026年高性价比电动车推荐榜单,功能强大的电动车哪家靠谱
  • 【计算机视觉、关键点检测、特征提取和匹配】基于SIFT、PCA-SIFT和GLOH算法在不同图像之间建立特征对应关系,并实现点匹配算法和图像匹配(Matlab代码实现)
  • 三表
  • 2026年厦门AI外呼机器人最新推荐厂家:外呼机器人、销售机器人、AI外呼机器人、智能外呼机器人、智能电销机器人、智能电话机器人
  • 河南标识标牌实力标杆:金合盛12年深耕,用匠心与创新定义行业标准
  • 基于大数据爬虫+Hadoop+Python的农产品销售预测系统设计与实现开题报告
  • 告别机房管理 “盲盒”!实现主动预判的可视化运维
  • 人力资源公司哪家好?
  • 河南景观字标杆品牌:金合盛用匠心标识点亮中原大地
  • 基于大数据+机器学习+Hadoop+Python的城市交通流量可视化分析系统开题报告
  • 高效服装加工ERP软件助力企业精细化管理与决策优化
  • 实用指南:2025企业DevOps平台选型指南:信通院认证优选,嘉为蓝鲸全链路赋能企业研发效能
  • 河南广告牌实力标杆!河南金合盛标识标牌:以精工与诚信领跑中原行业
  • JBoltAI数据处理中心:全类型数据治理与协同引擎
  • 真正强大的体系,必须让“创造者长期掌握分配权与控制权
  • 企业级+常规应急物资管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】
  • java_ssm36实验室计算机故障报修系统
  • 河南导视牌选金合盛:资质标杆企业的场景化解决方案
  • java_ssm37宠物医院诊断预约管理系统
  • 河南标识标牌选金合盛:实力标杆引领行业新标杆
  • 权威榜单2026年重庆锚具厂家品牌推荐,让您的选择更可靠
  • NopCommerce 4.9.3全栈开发实战 - 5.3 Razor视图与模型绑定
  • java_ssm39客户关系服务回访管理系统
  • 老年人评估项目开发记录1
  • java_ssm40家乡宣传介绍网站
  • AI搜索+线上投流:安徽企业营销破局新路径,三十六行网络科技全链路赋能
  • App监管「新」规 —— 存储访问框架 - Momoko
  • 时序数据库选型指南:工业物联网时代的数据管理之道
  • ImmortalWrt socat不生效解决办法