news 2026/4/23 20:47:48

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何在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 连接。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:30:50

java_ssm36实验室计算机故障报修系统

目录具体实现截图实验室计算机故障报修系统的设计与实现(摘要)系统所用技术介绍写作提纲源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 实验室计算机故障报修系统的设计与实现(摘要&am…

作者头像 李华
网站建设 2026/4/23 17:09:44

java_ssm38宠物常规护理知识科普管理系统 _87n3x

目录 具体实现截图系统概述核心功能技术架构应用价值 系统所用技术介绍写作提纲源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 具体实现截图 系统概述 Java_SSM38宠物常规护理知识科普管理系统_87n3x是一个基于SSM(Sprin…

作者头像 李华
网站建设 2026/4/23 12:30:16

基于智能算法的考试成绩数据分析系统开题报告

基于智能算法的考试成绩数据分析系统开题报告 一、研究背景 在教育信息化与智能化转型的浪潮下,考试作为检验教学效果、评估学生学业水平的核心手段,其产生的成绩数据已成为教育教学决策的重要依据。随着各级学校办学规模的扩大、课程体系的优化及考试形…

作者头像 李华
网站建设 2026/4/23 13:57:10

java_ssm40基于j2ee的问卷调查系统--论文

目录具体实现截图摘要系统所用技术介绍写作提纲源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 摘要 基于J2EE的问卷调查系统采用SSM(SpringSpringMVCMyBatis)框架开发,旨在提供一个高…

作者头像 李华