← LINUX 分类
LINUX

SSH 连接配置:双服务器免密登录

配置 WSL 到云服务器与内网主机的 SSH 密钥认证,含 scp/sftp 文件传输备忘。


本文目录 · 6 节

本文只保留通用写法:服务器地址、登录用户名和家目录一律写成占位符,请替换成自己的值。真实的 IP、账号与密钥路径不要写进公开页面。

SSH 配置文件

WSL 中的 ~/.ssh/config(示例):

Host myserver
    HostName <云服务器公网 IP>
    User <登录用户>
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 60
    ServerAliveCountMax 3

Host homebox
    HostName <内网主机 IP>
    User <登录用户>
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 60

两端可以共用同一把 id_ed25519;也可以用 IdentitiesOnly yes 给不同主机指定不同密钥。配置好之后只需:

ssh myserver    # 云服务器
ssh homebox     # 内网主机

密钥配置(已完成)

生成密钥(-C 后面的注释只用于自己辨识,建议不要写真实邮箱或服务器信息):

ssh-keygen -t ed25519 -C "workstation"

复制公钥到两台服务器(各需输入一次密码):

ssh-copy-id -i ~/.ssh/id_ed25519.pub myserver
ssh-copy-id -i ~/.ssh/id_ed25519.pub homebox

生产服务器建议再收紧一步:在 /etc/ssh/sshd_config 里设置 PasswordAuthentication no、PermitRootLogin prohibit-password,确认密钥登录可用后再关闭密码登录。

主机密钥变更处理

重装系统后出现 REMOTE HOST IDENTIFICATION HAS CHANGED 是正常现象:

ssh-keygen -f ~/.ssh/known_hosts -R <云服务器公网 IP>

更省事的做法是删掉对应行,或者直接用 ssh -o StrictHostKeyChecking=accept-new 重新写入。确认指纹无误再接受,不要习惯性忽略这条警告。

重装记录

日期操作
2026-07-12初装:OpenCloudOS 9.6 + 宝塔面板
2026-07-12重装:Debian 13 (trixie) 裸机
2026-07-13清除旧主机指纹 + ssh-copy-id 配置免密

快速验证

ssh myserver 'hostname'
ssh homebox 'hostname'

SCP 文件传输备忘

# 上传到云服务器
scp localfile.txt myserver:/home/<登录用户>/

# 从云服务器下载
scp myserver:/home/<登录用户>/data.txt .

# 上传到内网主机
scp localfile.txt homebox:/home/<登录用户>/

频繁传输大文件时优先用 rsync -avz --partial,断点续传比 scp 省事;不要在公网上用 root 账号直接传文件,日常操作使用普通用户 + sudo。