这样更安全，也更合适。

思路是：

1. 在**公司电脑**生成一把新的 SSH 密钥
    
2. 把**新公钥**加到服务器 `~/.ssh/authorized_keys`
    
3. 用这把新私钥登录
    
4. 以后公司电脑不用了，就把这把公钥从服务器删掉
    

---

## 一、在公司电脑生成新密钥

在公司电脑 PowerShell 执行：

```powershell
ssh-keygen -t ed25519 -f $env:USERPROFILE\.ssh\id_ed25519_work
```

含义是：

- 算法：`ed25519`
    
- 文件名：`id_ed25519_work`
    
- 不覆盖你以后可能已有的默认密钥
    

执行时会问你：

```text
Enter passphrase (empty for no passphrase):
```

建议：

- 想方便：直接回车
    
- 想更安全：设置一个 passphrase
    

生成后会有两个文件：

```text
C:\Users\Administrator\.ssh\id_ed25519_work
C:\Users\Administrator\.ssh\id_ed25519_work.pub
```

其中：

- `id_ed25519_work` 是私钥
    
- `id_ed25519_work.pub` 是公钥
    

---

## 二、把公司电脑的公钥复制出来

在公司电脑 PowerShell 执行：

```powershell
type $env:USERPROFILE\.ssh\id_ed25519_work.pub
```

会输出一整行，类似：

```text
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... comment
```

把**整行完整复制**。

---

## 三、先用你当前还能登录的方法进入服务器

你现在能通过：

- 公司电脑 + 手机热点
    
- 或家里电脑
    

先进服务器。

---

## 四、把新公钥追加到服务器 authorized_keys

在服务器执行：

```bash
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
```

把刚才从公司电脑复制的那一整行公钥，**粘贴到文件末尾新的一行**。

保存后执行：

```bash
chmod 600 ~/.ssh/authorized_keys
```

---

## 五、在公司电脑上用新私钥测试登录

在公司电脑 PowerShell 执行：

```powershell
ssh -6 -i $env:USERPROFILE\.ssh\id_ed25519_work bemon@2409:8a3c:458:1c90::1001
```

如果你还在用手机热点，这时应该可以登录。

---

## 六、为了以后更方便，写 SSH 配置

在公司电脑 PowerShell 执行：

```powershell
notepad $env:USERPROFILE\.ssh\config
```

填入：

```sshconfig
Host home-server
    HostName 2409:8a3c:458:1c90::1001
    User bemon
    AddressFamily inet6
    IdentityFile ~/.ssh/id_ed25519_work
```

保存后，以后直接：

```powershell
ssh home-server
```

---

## 七、验证新公钥确实生效

登录到服务器后，可以看一下：

```bash
wc -l ~/.ssh/authorized_keys
tail -n 3 ~/.ssh/authorized_keys
```

确认新公钥已经在里面。

---

## 八、以后想撤销这台公司电脑权限

只要到服务器上编辑：

```bash
nano ~/.ssh/authorized_keys
```

把对应那一行公钥删掉即可。

如果你想更好区分，生成密钥时可以带注释：

```powershell
ssh-keygen -t ed25519 -C "work-laptop" -f $env:USERPROFILE\.ssh\id_ed25519_work
```

这样公钥末尾会带 `work-laptop`，以后删除更方便。

---

## 九、我建议你直接用这一版命令

公司电脑上：

```powershell
ssh-keygen -t ed25519 -C "work-pc" -f $env:USERPROFILE\.ssh\id_ed25519_work
type $env:USERPROFILE\.ssh\id_ed25519_work.pub
```

服务器上：

```bash
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
```

然后公司电脑测试：

```powershell
ssh -6 -i $env:USERPROFILE\.ssh\id_ed25519_work bemon@2409:8a3c:458:1c90::1001
```

如果你把公司电脑上 `type ...pub` 输出的那一整行贴过来，我可以帮你检查格式是否正确后再加进服务器。