兰 亭 墨 苑
期货 · 量化 · AI · 终身学习
首页
归档
编辑文章
标题 *
URL 别名 *
内容 *
(支持 Markdown 格式)
# ssh-copy-id工具的作用 你看到的 **`ssh-copy-id`** 本质上是一个—— 👉 **把“本机公钥”安全、正确地安装到远程服务器的工具** 很多人第一次看到都会以为是: > “ssh copy?” > “是不是 scp 的某种变体?” 其实不是 😄 --- ## 一句话解释(最重要) > **`ssh-copy-id` = 自动把你的 `id_rsa.pub` 加到远端的 `~/.ssh/authorized_keys` 里** 并且**顺手把权限全都设置正确**。 --- ## 它到底帮你干了什么? 当你执行: ```bash ssh-copy-id root@192.168.31.213 ``` 它会在后台自动完成👇 1️⃣ 读取你本机的公钥: ```text ~/.ssh/id_rsa.pub ``` 2️⃣ 用 **密码方式** ssh 登录远端(最后一次要输密码) 3️⃣ 在远端做这些事(自动): ```bash mkdir -p ~/.ssh chmod 700 ~/.ssh cat id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys ``` ✅ 一步到位 ✅ 不会覆盖已有 key ✅ 不会拷贝私钥 ✅ 权限不会错 --- ## 为什么大家都推荐它? 因为 **手动做很容易踩坑**: | 常见坑 | 结果 | |------|------| | 传了 `id_rsa`(私钥) | ❌ 安全事故 | | 权限不对 | ❌ 免密登录失败 | | 覆盖了 `authorized_keys` | ❌ 之前的 key 全没了 | | scp 路径写错 | ❌ 白折腾 | 👉 `ssh-copy-id` 把这些坑 **全部屏蔽掉了** --- ## 它和 scp / rsync 的本质区别 | 工具 | 用途 | |----|----| | `scp` | 传文件 | | `rsync` | 同步目录 | | `ssh-copy-id` | **安装 SSH 公钥(一次性)** | > `ssh-copy-id` 是**配置工具** > 不是通用拷贝工具 --- ## 常见问题 ### Q1:它会不会覆盖服务器上的 key? ✅ **不会**,只会追加 --- ### Q2:它用的到底是哪把 key? 默认顺序: 1. `~/.ssh/id_rsa.pub` 2. `~/.ssh/id_ed25519.pub` 3. 其他可用 key 你也可以指定: ```bash ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host ``` --- ### Q3:mac / Linux 都有吗? ✅ **基本都有** - macOS:自带 - Ubuntu / Debian:`openssh-client` - CentOS / Rocky:`openssh-clients` --- ## 最重要的一条安全原则(再强调一次) > 🔒 **私钥永远不出本机** > > 🌍 **服务器只存公钥** `ssh-copy-id` 正是为了保证这条原则不被破坏而存在的。 ---
配图 (可多选)
选择新图片文件或拖拽到此处
标签
更新文章
删除文章