A: 宿舍台式机

B: 办公室惠普台式机/笔记本电脑

  1. 安装 Tailscale 软件, 登录账号
tailscale status

确认 Tailscale 是否连接成功

  1. B 生成 SSH 密钥
ssh-keygen -t ed25519 -f "$env:USERPROFILE\.ssh\id_ed25519" -C "office"

直接回车确认, 从而生成 id_ed25519id_ed25519.pub 两个文件.

Get-Content "$env:USERPROFILE\.ssh\id_ed25519.pub"

可以得到形如 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA...... office 的公钥.

  1. 在 A 上追加 B 的公钥

在 A 上, 通过

Get-Content "C:\ProgramData\ssh\administrators_authorized_keys"

查看已有公钥.

通过

$pub = 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA...... office'

Add-Content `
    -Path "C:\ProgramData\ssh\administrators_authorized_keys" `
    -Value $pub
  1. 测试免密 SSH 连接

在 B 上, 测试

ssh -o IdentitiesOnly=yes `
    -i "$env:USERPROFILE\.ssh\id_ed25519_hp" `
    13676@DOMINATOR
  1. 配置文件

在 B 上执行

notepad "$env:USERPROFILE\.ssh\config"

并写入

Host dorm
    HostName DOMINATOR
    User 13676
    IdentityFile ~/.ssh/id_ed25519_hp
    IdentitiesOnly yes
    ServerAliveInterval 30
    ServerAliveCountMax 3