news 2026/2/14 8:53:25

如何在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/2/2 17:26:38

CnOpenData 美股上市公司资产负债表

本数据库提供全面、系统的美股上市公司财务报表数据,涵盖利润表、资产负债表、现金流量表及财务指标表四张核心数据表。数据包含公司代码、报告日期、指标类型、指标名称、指标数值等关键字段,并延伸至营业收入、净利润、每股收益、资产负债结构、现金流…

作者头像 李华
网站建设 2026/2/6 5:00:05

Node.js 后端架构的“隐秘角落”:从 Fastify 引擎到类型系统的博弈

在构建高性能 Node.js 服务(尤其是基于 NestJS)时,我们往往会遇到一些反直觉的现象:明明名字一样的类型却报错、明明配置了上传却收不到文件、明明锁定了版本却还要担心依赖树。本文将带你深入后端开发的“隐秘角落”,…

作者头像 李华
网站建设 2026/1/30 18:15:28

如何正确看待期货反向跟单策略?

很多刚入行期货反向跟单的朋友,第一反应就是 “这行业肯定暴利!” 核心逻辑很直接:普通散户做期货大多长期亏损,反着他们的操作来,按理说肯定能赚钱。这个思路看似没毛病,甚至有点 “躺赚” 的意味&#xf…

作者头像 李华
网站建设 2026/2/3 22:57:21

基于Java+SpringBoot+SSM户外救援系统(源码+LW+调试文档+讲解等)/野外救援体系/户外应急系统/野外应急方案/户外搜救装备/户外救援技术/户外救援设备/野外救援平台

博主介绍 💗博主介绍:✌全栈领域优质创作者,专注于Java、小程序、Python技术领域和计算机毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2025-2026年最新1000个热门Java毕业设计选题…

作者头像 李华
网站建设 2026/2/11 4:54:55

基于Java+SpringBoot+SSM摩尔街网上订餐系统(源码+LW+调试文档+讲解等)/摩尔街订餐平台/摩尔街外卖系统/网上订餐软件/摩尔街餐饮订购/订餐系统推荐

博主介绍 💗博主介绍:✌全栈领域优质创作者,专注于Java、小程序、Python技术领域和计算机毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2025-2026年最新1000个热门Java毕业设计选题…

作者头像 李华