前言
- 本文同时介绍了完整的从生成密钥、上传密钥、到配置ssh别名的全流程。

1 Windows端
1-1 生成ssh密钥(如果有了请跳过)
win+R打开cmd
cmd
dir %USERPROFILE%\.ssh
- 如果只有
known_hosts或者连.ssh目录都没有,那么需要先生成密钥。
cmd
ssh-keygen -t ed25519
- 一路全部回车(免密码使用)
- 最后
.ssh目录下会生成:id_ed25519id_ed25519.pub
- 不同算法生成的密钥文件名不同,常见的是
ed25519和rsa。
1-2 上传密钥
- 一行指令直接上传
ssh密钥 - 根据实际密钥选择:
Ed25519:
cmd
type %USERPROFILE%\.ssh\id_ed25519.pub | ssh root@192.168.3.5 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
RSA:
cmd
type %USERPROFILE%\.ssh\id_rsa.pub | ssh root@192.168.3.5 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
- 输入一次 root 密码。
- 然后测试
cmd
ssh root@192.168.3.5
- 如果直接登录成功,说明免密配置完成。
1-3 配置 SSH 别名
win+R打开cmd
cmd
notepad %USERPROFILE%\.ssh\config
- 如果文件不存在就点
是(是否创建新文件?) - 内容如下:
txt
Host rk
HostName 192.168.3.5
User root
IdentityFile ~/.ssh/id_ed25519
- 测试配置是否生效:
cmd
ssh -G rk

- 后续连接直接:
cmd
ssh rk
- 或者:
cmd
scp test.txt rk:/root/
rsync -avz build/ rk:/root/build/
Linux端
2-1 生成ssh密钥(如果有了请跳过)
- 如果特殊旧设备才使用 RSA,一般建议统一 ed25519。
bash
ssh-keygen -t ed25519
- 一路回车即可(默认路径):
- 私钥:
~/.ssh/id_ed25519 - 公钥:
~/.ssh/id_ed25519.pub
- 私钥:
2-2 上传密钥
- 把公钥发到服务器,然后输入一次密码即可
bash
ssh-copy-id root@192.168.3.5

- 有些开发板系统权限配置比较奇怪,建议上传后执行:
bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
- 也可以手动发送:
- 如果之前生成的是 RSA 密钥,请将
id_ed25519.pub替换为id_rsa.pub。
- 如果之前生成的是 RSA 密钥,请将
bash
cat ~/.ssh/id_ed25519.pub | \
ssh root@192.168.3.5 \
"mkdir -p ~/.ssh && \
cat >> ~/.ssh/authorized_keys && \
chmod 700 ~/.ssh && \
chmod 600 ~/.ssh/authorized_keys"
2-3 配置 SSH 别名
- 编辑:
bash
nano ~/.ssh/config
- 添加:
bash
Host rk
HostName 192.168.3.5
User root
- 设置权限:
bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/config
- 测试:
bash
ssh rk
小结
- 本文同时介绍了完整的从生成密钥、上传密钥、到配置ssh别名的全流程。
- 如有错误,欢迎指出!
- 感谢观看!