Featured image of post Windows 创建 FnOS SSH 密钥对 🔑

Windows 创建 FnOS SSH 密钥对 🔑

Windows 创建 FnOS SSH 密钥对 🔑 📑 目录导航 🌟 简介 🚀 一、在

Windows 创建 FnOS SSH 密钥对 🔑

Windows SSH


📑 目录导航


🌟 简介

本指南将帮助您在 Windows 系统上创建 SSH 密钥对,并将其配置到 FnOS 服务器,实现安全的无密码登录。

✨ 主要优势:

  • ✅ 提高服务器安全性
  • ✅ 免去每次登录输入密码的麻烦
  • ✅ 支持自动化脚本和工具
  • ✅ 符合安全最佳实践

🚀 一、在 Windows 上创建 SSH 密钥对

1. 打开 Git Bash 终端

在 Windows 上安装 Git 后,右键点击任意位置,选择 “Git Bash Here” 打开终端

Git Bash 演示

2. 生成 SSH 密钥对

使用以下命令生成名为 FnOS_SSH 的 RSA 密钥对:

1
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/FnOS_SSH

参数说明:

  • -t rsa: 指定密钥类型为 RSA
  • -b 4096: 指定密钥长度为 4096 位(更安全)
  • -C "your_email@example.com": 添加注释(替换为您的邮箱)
  • -f ~/.ssh/FnOS_SSH: 指定密钥文件名称和路径

3. 查看公钥内容

使用以下命令查看公钥内容:

1
cat ~/.ssh/FnOS_SSH.pub

复制输出的全部内容(以 ssh-rsa 开头的长字符串)


🔧 二、在 FnOS 服务器上配置 SSH 密钥

1. 使用密码登录 FnOS 服务器:

1
ssh root@10.10.10.251

2. 在服务器上创建或编辑 authorized_keys 文件:

1
2
3
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys

将之前复制的公钥内容粘贴到文件中

Ctrl+X,然后按 Y 保存,再按 Enter 确认

3. 设置正确的文件权限:

1
chmod 600 ~/.ssh/authorized_keys

4. 退出服务器:

1
exit

SSH 配置演示


✅ 三、验证 SSH 密钥配置

1. 使用 SSH 密钥登录 FnOS 服务器:

1
ssh -i ~/.ssh/FnOS_SSH root@10.10.10.251

如果无需输入密码直接登录,则配置成功

2. 简化 SSH 登录命令(可选)

编辑 SSH 配置文件:

1
nano ~/.ssh/config

添加以下内容:

1
2
3
4
5
6
7
# FnOS_SSH 配置
Host fnos
    HostName 10.10.10.251
    User root
    IdentityFile ~/.ssh/FnOS_SSH
    ServerAliveInterval 60
    ServerAliveCountMax 5

3. 保存后,可直接使用以下命令登录:

1
ssh fnos

🛡️ 四、安全最佳实践

1. 保护私钥文件

1
2
# 设置正确的文件权限
chmod 600 ~/.ssh/FnOS_SSH

2. 使用密码保护私钥(可选)

如果您在生成密钥时没有设置密码,可以使用以下命令添加:

1
ssh-keygen -p -f ~/.ssh/FnOS_SSH

3. 备份密钥对

~/.ssh/FnOS_SSH~/.ssh/FnOS_SSH.pub 文件备份到安全的位置

4. 多服务器配置

如果您有多个服务器,可以为每个服务器创建不同的密钥对:

1
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/Server2_SSH

🔍 五、故障排除

1. 权限问题

如果遇到权限错误,请检查文件权限:

1
2
3
4
# 在 Windows Git Bash 中
chmod 700 ~/.ssh
chmod 600 ~/.ssh/FnOS_SSH
chmod 644 ~/.ssh/FnOS_SSH.pub

2. 连接被拒绝

确保 FnOS 服务器上的 SSH 服务正在运行:

1
2
# 在 FnOS 服务器上
systemctl status sshd

3. 认证失败

检查公钥是否正确添加到服务器的 authorized_keys 文件中:

1
2
# 在 FnOS 服务器上
cat ~/.ssh/authorized_keys

💡 六、高级用法

1. 使用 SSH 代理管理密钥

1
2
3
4
5
# 启动 SSH 代理
eval "$(ssh-agent -s)"

# 添加私钥到代理
ssh-add ~/.ssh/FnOS_SSH

2. 端口转发

通过 SSH 建立安全隧道:

1
2
3
4
5
# 本地端口转发
ssh -L 8080:localhost:80 fnos

# 远程端口转发
ssh -R 9090:localhost:3000 fnos

3. SCP 文件传输

使用 SSH 密钥进行安全文件传输:

1
2
3
4
5
# 从本地复制到远程
scp -i ~/.ssh/FnOS_SSH localfile.txt root@10.10.10.251:/path/to/destination/

# 从远程复制到本地
scp -i ~/.ssh/FnOS_SSH root@10.10.10.251:/path/to/file.txt ./

4. RSYNC 同步文件

1
2
3
4
5
# 同步本地文件到远程服务器
rsync -avz -e "ssh -i ~/.ssh/FnOS_SSH" /local/path/ root@10.10.10.251:/remote/path/

# 从远程服务器同步到本地
rsync -avz -e "ssh -i ~/.ssh/FnOS_SSH" root@10.10.10.251:/remote/path/ /local/path/

📚 七、常用 SSH 命令参考

命令 说明
ssh-keygen -t rsa -b 4096 生成 RSA 密钥对
ssh-copy-id user@host 自动复制公钥到远程主机
ssh -i key.pem user@host 使用特定密钥连接
ssh -v user@host 详细模式连接(调试用)
ssh -p 2222 user@host 指定端口连接
scp -i key file user@host:path 安全文件传输
rsync -avz -e ssh src dest 使用 SSH 同步文件
ssh -L local_port:remote_host:remote_port user@host 本地端口转发
ssh -R remote_port:local_host:local_port user@host 远程端口转发

🎯 总结

通过以上步骤,您已经成功创建并配置了 SSH 密钥对,可以实现到 FnOS 服务器的安全无密码登录。这不仅提高了安全性,还大大简化了登录过程!

🔑 关键要点:

  1. 密钥生成:使用 ssh-keygen 创建安全的 RSA 密钥对
  2. 服务器配置:将公钥添加到服务器的 authorized_keys 文件中
  3. 连接测试:使用 ssh -i 命令验证密钥认证
  4. 配置文件:创建 SSH 配置文件简化连接命令
  5. 安全实践:保护私钥文件并定期备份

🚀 下一步建议:

  • 为不同的服务器创建不同的密钥对
  • 设置 SSH 代理管理多个密钥
  • 探索 SSH 端口转发和隧道功能
  • 配置自动化脚本使用 SSH 密钥认证

现在您可以享受安全、便捷的 FnOS 服务器访问体验了!🎉

最后更新于 2025-09-28