Menu Close

密钥

SSH 中,“密钥”指的是一种用于身份验证的加密方式,用于代替传统的用户名+密码登录,更安全、更自动化。它是使用非对称加密原理的一对“钥匙”:


✅ 密钥对 = 公钥 + 私钥

密钥 作用 存放位置 是否保密
🔐 私钥 相当于你的“身份”,用于解密 存在本地电脑(例如:~/.ssh/id_rsa 必须保密
🔓 公钥 提供给服务器,服务器用它加密验证信息 存在远程服务器(如:~/.ssh/authorized_keys 可公开

原理简述:

  1. 你先生成一对密钥(私钥 + 公钥)
  2. 将公钥复制到服务器
  3. 登录时,服务器使用公钥验证你的私钥身份,过程自动完成,无需输入密码

✅ 为什么密钥比密码更安全?

特性 密码登录 密钥登录
被暴力破解风险 极低
安全性 一般(可能被截获) 高(加密通信)
自动化(脚本) 不方便 可无密码自动连接
建议使用 ✅ 强烈推荐

✅ 如何生成和使用 SSH 密钥(Linux/macOS)

1. 生成密钥对:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

按回车使用默认路径(~/.ssh/id_rsa),也可以设置密码(用于加密私钥)

2. 上传公钥到服务器:

ssh-copy-id user@your_server_ip

或者手动将 ~/.ssh/id_rsa.pub 内容复制到服务器的:

~/.ssh/authorized_keys

3. 使用密钥连接服务器:

ssh -i ~/.ssh/id_rsa user@your_server_ip

✅ Windows 用户怎么办?

  • 推荐使用工具:PuTTYWindows Terminal + OpenSSH
  • 可以使用 Git Bash 或 Windows 10+ 的 WSL 来生成密钥:
    ssh-keygen
    

✅ 多个密钥怎么办?

你可以使用配置文件来指定不同服务器用不同私钥:

编辑 ~/.ssh/config

Host myserver
    HostName 192.168.1.100
    User root
    IdentityFile ~/.ssh/my_private_key

登录时只需输入:

ssh myserver

✅ 小结一句话:

SSH 密钥是比密码更安全的远程身份验证方式,生成一次,配置好后可以一键登录,是管理服务器的标准做法

 

除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Leave the field below empty!