📅  最后修改于: 2023-12-03 15:24:02.322000             🧑  作者: Mango
SSH密钥对是一种SSH(Secure Shell)协议的加密方式,用于让用户在计算机之间安全地传输数据。这对密钥涉及到两个密钥:一把是私钥,一把是公钥。公钥用于加密,私钥则用于解密。下面介绍如何生成和保存SSH密钥,并为特定用户添加SSH密钥。
在Linux或macOS上生成SSH密钥需要打开终端窗口,并输入以下命令:
ssh-keygen -t ed25519 -C "your_email@example.com"
其中,"your_email@example.com"需要替换为你自己的邮件地址。此命令将生成一个Ed25519密钥对,同时会提示你输入一个文件名来保存你的密钥。默认情况下,私钥和公钥的文件名分别是“id_ed25519”和“id_ed25519.pub”。如果不需要输入新的文件名,可以直接按Enter键继续。
接下来,系统将提示你为此密钥添加一个密码,此步骤可跳过。如果您希望此密钥对有额外的安全性,可以为其添加一个密码。如果您选择不为此密钥添加密码,则任何有访问该密钥的人都可以轻松地获得其中的私钥,从而访问相应的服务器或系统。
默认情况下,SSH密钥对将保存在用户的家目录(~/.ssh)下。私钥的路径即为“~/.ssh/id_ed25519”,而公钥的路径为“~/.ssh/id_ed25519.pub”。 我们强烈建议您将SSH密钥对复制到其他安全存储器上,例如USB驱动器中。当您需要在其他电脑上使用密钥对时,可以将其从USB驱动器中复制到该计算机上。
假设你已经有了一个其他人的公钥,现在你需要将其添加到你的服务器上,以便这个人可以通过SSH连接到你的服务器。下面是一个简单的过程:
echo "ssh-rsa AAA..." | tee -a ~/.ssh/authorized_keys
注:将“AAA...”替换为其他人的公钥。
以root身份运行 /etc/init.d/sshd status 命令。
如果守护进程没有运行,请以root身份运行 /etc/init.d/sshd start 命令。
现在,其他人可以通过ssh连接到你的主机了:
ssh username@your.server.com
注:其中,“username”为你的用户名,“your.server.com”为你的主机名或IP地址。
SSH密钥对可用于在计算机之间安全地传输数据,而不会受到中间人或黑客的攻击。我们在Linux或macOS上应该总是使用SSH密钥对连接到其他计算机。在本文中,我们讨论了如何生成、保存SSH密钥,并为特定用户添加SSH密钥。希望这些步骤能帮助你更好地使用SSH来保护你的数据。