mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
495 字
2 分钟
服务器SSH免密登录
2025-12-29

设置 SSH 免密登录(Key-based authentication)非常简单,分为两个步骤:在 Windows 电脑上生成钥匙,然后把“公钥”放到服务器上

在Windows PowerShell中依次执行以下步骤:

第一步:在本地生成密钥对#

  1. 输入以下命令并按回车:
Terminal window
ssh-keygen -t ed25519
  1. 一路回车即可:
  • 遇到 Enter file in which to save the key...:直接回车(默认保存位置)。
  • 遇到 Enter passphrase...(输入密码):直接回车(留空表示不需要密码,这样才能免密)。
  • 遇到 Enter same passphrase again:再次回车。

成功后,电脑里就会有两个文件:id_ed25519(私钥,自己留着)和 id_ed25519.pub(公钥,给服务器)。

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

需要把刚才生成的公钥内容,写进服务器的 ~/.ssh/authorized_keys 文件里。 在 PowerShell 中直接运行下面这行“魔法命令”即可(服务器 IP替换 自己的IP):

Terminal window
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@服务器IP地址 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
  • 解释:这行命令会自动读取刚才生成的公钥,通过 SSH 登录服务器(这时还需要最后输一次密码),然后把公钥追加写入到服务器的授权列表中。

第三步:测试#

现在,再次输入连接命令:

Terminal window
ssh root@服务器IP地址

如果设置成功,这次应该直接进去了,不需要再输入密码。


如果上面的“魔法命令”报错(备用方案)#

如果第二步命令执行失败,可以用手动法

  1. 在 PowerShell 里输入:notepad $env:USERPROFILE\.ssh\id_ed25519.pub
  2. 记事本会打开,复制里面的所有内容(以 ssh-ed25519 开头的一长串)。
  3. 用老方法登录服务器:ssh root@服务器IP地址
  4. 在服务器里粘贴并运行这行命令(注意要在服务器里运行):
mkdir -p ~/.ssh && echo "粘贴刚才复制的内容" >> ~/.ssh/authorized_keys

(注意:保留引号,把中文部分替换成你复制的一长串字符)

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

服务器SSH免密登录
http://www.rinhonlc.fun/posts/server-ssh-passwordless-login/
作者
Rinhon
发布于
2025-12-29
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00