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

✅ 密钥对 = 公钥 + 私钥

密钥

作用

存放位置

是否保密

🔐 私钥

相当于你的“身份”,用于解密

存在本地电脑(例如:~/.ssh/id_rsa)

必须保密

🔓 公钥

提供给服务器,服务器用它加密验证信息

存在远程服务器(如:~/.ssh/authorized_keys)

可公开

原理简述:

你先生成一对密钥(私钥 + 公钥)

将公钥复制到服务器

登录时,服务器使用公钥验证你的私钥身份,过程自动完成,无需输入密码

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

特性

密码登录

密钥登录

被暴力破解风险

极低

安全性

一般(可能被截获)

高(加密通信)

自动化(脚本)

不方便

可无密码自动连接

建议使用

✅ 强烈推荐

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

1. 生成密钥对:

12

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

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

2. 上传公钥到服务器:

12

ssh-copy-id user@your_server_ip

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

12

~/.ssh/authorized_keys

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

12

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

✅ Windows 用户怎么办?

推荐使用工具:PuTTY 或 Windows Terminal + OpenSSH

可以使用 Git Bash 或 Windows 10+ 的 WSL 来生成密钥:

12

ssh-keygen

✅ 多个密钥怎么办?

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

编辑 ~/.ssh/config:

12345

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

登录时只需输入:

12

ssh myserver

✅ 小结一句话:

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

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