臭大佬臭大佬

SSH 免密登录服务器(含 AI 智能体自动化运维实战)

Vijay 2026-08-28 17:34 浏览 96
AI
简介

每次连接云服务器都要翻找密码、复制粘贴?不仅效率低下,还容易泄露密码。今天教大家如何配置 SSH 免密公钥登录。更重要的是:配置好免密后,你可以直接将服务器接入 AI 智能体(Agent),让 AI 替你打工,实现全自动装机与运维!

SSH 免密登录服务器(含 AI 智能体自动化运维实战)

每次连接云服务器都要翻找密码、复制粘贴?不仅效率低下,还容易泄露密码。今天教大家如何配置 SSH 免密公钥登录。更重要的是:配置好免密后,你可以直接将服务器接入 AI 智能体(Agent),让 AI 替你打工,实现全自动装机与运维!

01. 原理解析:SSH 免密是如何工作的?

SSH 免密登录使用的是非对称加密算法(如 ED25519 或 RSA):

  • 私钥(Private Key):相当于你的“专属钥匙”,严格存放在本地电脑,绝不能泄露给任何人。
  • 公钥(Public Key):相当于“锁芯”,放置在远程服务器上。
  • 认证过程:每次连接时,服务器用“锁芯”向你的电脑发起验证,本地电脑用“钥匙”应答,匹配成功即可直接登录,无需输入密码。
[ 本地电脑 (私钥) ]  <==== 安全加密协商 ====>  [ 远程服务器 (公钥: authorized_keys) ]
        |                                                 |
  无需手动输密码                                    秒级验证通过

02. 第一步:在本地生成 SSH 密钥对

首先,打开本地终端:

  • Windows 用户:按 Win + X 打开 PowerShellWindows Terminal
  • Mac / Linux 用户:打开 Terminal(终端)

执行以下命令生成高安全性、现代且轻量的 ED25519 密钥对:

ssh-keygen -t ed25519
操作提示
1. 终端提示 Enter file in which to save the key 时,直接按回车(保存在默认路径)。
2. 提示 Enter passphrase 时,直接按两次回车(不设置额外密码,实现真正的免密秒连)。

生成完成后,你的本地目录 ~/.ssh/(Windows 为 C:\Users\用户名\.ssh\)下会出现两个文件:

  • id_ed25519(私钥,不要动它
  • id_ed25519.pub(公钥,用于上传)

03. 第二步:将公钥上传到远程服务器

将公钥内容追加到服务器的 ~/.ssh/authorized_keys 文件中。

⚠️ 请将下文命令中的 root 替换为你的服务器用户名,192.168.1.100 替换为服务器实际公网 IP。

方式 A:Windows PowerShell 用户(一行命令)

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@192.168.1.100 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

方式 B:Mac / Linux / Git Bash 用户

ssh-copy-id -i ~/.ssh/id_ed25519.pub root@192.168.1.100
💡 注意
- 执行命令后,终端会提示输入最后一次服务器密码
- 若服务器 SSH 端口不是默认的 22,请添加 -p 端口号(如 ssh -p 2222 ...)。

04. 第三步:验证免密登录

在本地终端输入原有的连接命令:

ssh root@192.168.1.100

🎉 如果直接进入了服务器的命令行,没有出现密码输入提示,说明免密配置成功!

05. 进阶技巧:配置服务器别名(连 IP 都不用记了!)

觉得每次敲 ssh root@192.168.1.100 依然很长?我们可以给服务器起一个短别名

1. 编辑本地配置文件

在本地电脑打开/创建配置文件:

  • WindowsC:\Users\你的用户名\.ssh\config
  • Mac / Linux~/.ssh/config

2. 添加以下配置信息

Host myaliyun
    HostName 192.168.1.100
    User root
    Port 22
    IdentityFile ~/.ssh/id_ed25519

3. 极速连接

以后在终端里只需敲入这几个字母:

ssh myaliyun

一秒直达服务器!

06. 核心生产力:配合 AI 智能体(Agent)自动化管理服务器

配置好免密 SSH 之后,最大的价值不仅是省去了人工输入密码的时间,而是为 AI 智能体打通了自主操作服务器的“安全通道”

传统运维 vs AI 智能体运维

  • 传统痛点:AI 生成一段命令 ➔ 你复制粘贴到服务器终端 ➔ 报错了再截图发给 AI ➔ AI 修改后再粘贴……反复折腾,效率极低。
  • 智能体闭环:因为有了免密通道,智能体可以直接在本地通过 ssh myaliyun "command" 远程执行命令、读取输出、自动排错,直到任务彻底完成!

实战场景 1:让 AI 智能体一键安装基础环境与软件

你只需对 AI 智能体说一句话:

💬 你对 AI 说:“帮我连接 myaliyun 服务器,检测系统版本,并一键安装 Docker、Docker Compose 和 Nginx,安装完后启动服务并开启开机自启。”

智能体的自主执行过程

  1. ssh myaliyun "cat /etc/os-release" ➔ 识别出系统为 Ubuntu 22.04。
  2. ssh myaliyun "curl -fsSL https://get.docker.com | bash" ➔ 自动换源并安装 Docker。
  3. ssh myaliyun "systemctl enable --now docker nginx" ➔ 启动并设置开机自启。
  4. ssh myaliyun "docker --version && nginx -v" ➔ 自动回读版本号,向你汇报安装成功。

实战场景 2:线上报错,AI 智能体全自动排障与修复

💬 你对 AI 说:“我的服务器网页返回 502 Bad Gateway,帮我登录 myaliyun 服务器排查原因并修复。”

智能体的自主排查动作

  1. 自动执行 ssh myaliyun "nginx -t"tail -n 50 /var/log/nginx/error.log 查看日志。
  2. 发现反向代理的目标后端容器(如 Node/Go 服务)挂掉了。
  3. 自动运行 docker ps -a 找到异常容器,执行 docker restart 重启服务。
  4. 再次通过 curl -I http://localhost 验证 HTTP 状态码恢复为 200,并给你一份详细的故障分析报告。

实战场景 3:本地项目一键构建并推送到远程部署

💬 你对 AI 说:“把当前本地项目的代码打包,通过 SSH 同步到 myaliyun 服务器的 /opt/app 目录下,并用 docker-compose 重新部署运行。”

智能体直接在本地调用 scp / rsync 上传制品,然后通过 SSH 触发远程 docker-compose up -d --build,全程无需你动一下鼠标。

🛡️ AI 智能体运维的安全规范建议

  1. 避免使用 Root 全权账户:为智能体创建专用运维账号(如 deployer),仅赋予必要的 sudo 权限。
  2. 危险操作设置确认拦截:对包含 rm -rf /drop databasefdisk 等高危破坏性指令,保持人工确认环节。
  3. 云厂商安全组放行特定 IP:将 SSH 访问限制在你本人的公网 IP 范围内,进一步收紧安全防护网。

07. 常见踩坑与排错指南

如果配置完成后依然提示输密码,请检查以下几点:

Linux 对 SSH 安全目录的权限要求极高,在服务器端运行:

  1. 服务器文件权限错误(最常见)
   chmod 700 ~/.ssh
   chmod 600 ~/.ssh/authorized_keys

检查服务器 /etc/ssh/sshd_config 文件,确保以下配置为 yes

  1. 服务器未开启公钥认证
   PubkeyAuthentication yes

修改后记得重启 SSH 服务:sudo systemctl restart sshd

留言评论

支持表情、回复和点赞。评论需要先登录。