【SSH 免密登录全流程】Windows Linux 通用方案

前言

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

1 Windows端

1-1 生成ssh密钥(如果有了请跳过)
  • win+R打开cmd
cmd 复制代码
dir %USERPROFILE%\.ssh
  • 如果只有known_hosts或者连 .ssh 目录都没有,那么需要先生成密钥。

cmd 复制代码
ssh-keygen -t ed25519
  • 一路全部回车(免密码使用)
  • 最后.ssh目录下会生成:
    • id_ed25519
    • id_ed25519.pub
  • 不同算法生成的密钥文件名不同,常见的是 ed25519rsa

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
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别名的全流程。
  • 如有错误,欢迎指出!
  • 感谢观看!
相关推荐
草莓熊Lotso4 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
张文君4 小时前
ubuntu26.04坏道坏块分区隔离急速版260831-V0.12
linux·python
贝锐13 小时前
从国产化信创设备到商用安卓终端,向日葵如何帮助企业实现统一运维管理?
linux·运维·远程控制
Julien200414 小时前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
小张同学a.16 小时前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器
mooooooooooye17 小时前
2026 年跨平台 SSH 客户端怎么选?Xterminal、Termius、MobaXterm 谁更合适
服务器·网络·ssh
Best-Wishes18 小时前
BurpSuite Pro教育版在linux系统中配置
linux·运维·服务器·网络安全·burpsuite
wuminyu18 小时前
深入剖析 Panama Off-heap 的性能损耗与开销
java·linux·c语言·jvm·c++
虎王物联19 小时前
RK3568嵌入式Linux跑Docker:内核配置排查到AIoT容器化的完整路径
linux·运维·docker·rk3568·aiot·嵌入式linux
GeW19 小时前
不只靠技术:RHCE考试的5个隐藏得分点
linux