当前位置: 首页 > 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.cnnetsun.cn/news/753905.html

相关文章:

  • 【计算机视觉、关键点检测、特征提取和匹配】基于SIFT、PCA-SIFT和GLOH算法在不同图像之间建立特征对应关系,并实现点匹配算法和图像匹配(Matlab代码实现)
  • 人力资源公司哪家好?
  • 基于SpringBoot的在线音乐推荐系统开题报告
  • 基于大数据爬虫+Hadoop+Python的农产品销售预测系统设计与实现开题报告
  • CnOpenData 港股上市公司交易日历数据
  • 【基于STFT-CNN-SVM的故障诊断】一种融合短时傅里叶变换(STFT)、卷积神经网络(CNN)和支持向量机(SVM)的故障诊断研究(Matlab代码实现)
  • 【前端】vue3的指令
  • 扬声器内磁盖模具设计冲压工艺及模具设计——冲压工艺及模具设计
  • hw006 篮球比赛计时器
  • 轨道影院投资得多少钱:揭秘飞行影院的成本与潜在收益分析
  • 智能货架商品检测系统:基于 YOLOv8 的开发与应用指南
  • YOLOv8 在智能货架商品检测中的应用:系统开发与实现指南
  • 斩杀线越来越火
  • 认养一头牛官宣演员赵丽颖成为品牌代言人
  • 《iOS沙盒Python适配进阶指南:从静态兼容到自适应运行体系》
  • 格拉姆角场GAF将时序数据转换为图像并应用于东南大学轴承故障诊断(Python代码,CNN模型)
  • 宏智树 AI:一键生成三类高分 PPT,学术职场汇报再也不踩坑
  • Java企业开发AI应用:核心逻辑与高效落地路径
  • 错误java.lang.UnsupportedOperationException: null \ at java.sql.Date.toInstant(Date.java:304)
  • 科研生产力革命:手把手打造大模型 Research Agent(文献调研 × 论文写作 × 思路激发)
  • opengl32.dll文件丢失找不到 免费下载方法分享
  • [STM32C0] 【STM32C092RC 测评】开箱以及环境配置
  • 深圳城区,竟然有座沉睡20多年的“垃圾山”
  • JDK21-虚拟线程(原理)
  • 硬核开源!AgentCPM重新定义端侧智能天花板,4B参数碾压30B性能,附一键部署教程
  • Navicat Premium MacOS:原生或通过 Rosetta 运行教程
  • 谷歌Gemini变身免费家教:接入全真模考,错题还能掰碎了讲
  • 曝光马斯克AGI秘密的他,被xAI开除了?
  • 导师严选2026 AI论文平台TOP9:继续教育写作全攻略
  • YOLOv13 RAB(Residual Attention Block)原理深度解析:多级残差 + 空间注意力的创新设计与应用