📜  如何保存 ssh keygen 如何在 linux 中为特定用户添加 ssh 密钥? - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:24:02.322000             🧑  作者: Mango

如何保存 ssh keygen 如何在 linux 中为特定用户添加 ssh 密钥?

SSH密钥对是一种SSH(Secure Shell)协议的加密方式,用于让用户在计算机之间安全地传输数据。这对密钥涉及到两个密钥:一把是私钥,一把是公钥。公钥用于加密,私钥则用于解密。下面介绍如何生成和保存SSH密钥,并为特定用户添加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)下。私钥的路径即为“~/.ssh/id_ed25519”,而公钥的路径为“~/.ssh/id_ed25519.pub”。 我们强烈建议您将SSH密钥对复制到其他安全存储器上,例如USB驱动器中。当您需要在其他电脑上使用密钥对时,可以将其从USB驱动器中复制到该计算机上。

为特定用户添加SSH密钥:

假设你已经有了一个其他人的公钥,现在你需要将其添加到你的服务器上,以便这个人可以通过SSH连接到你的服务器。下面是一个简单的过程:

  1. 首先,将其他人的公钥粘贴到该用户的 /home/username/.ssh/authorized_keys 文件中,username是该用户的用户名。我们可以在一个命令行中完成此操作:
echo "ssh-rsa AAA..." | tee -a ~/.ssh/authorized_keys

注:将“AAA...”替换为其他人的公钥。

  1. 确认SSH守护进程正在运行:

以root身份运行 /etc/init.d/sshd status 命令。

  1. 如果守护进程没有运行,请以root身份运行 /etc/init.d/sshd start 命令。

  2. 现在,其他人可以通过ssh连接到你的主机了:

ssh username@your.server.com

注:其中,“username”为你的用户名,“your.server.com”为你的主机名或IP地址。

结论:

SSH密钥对可用于在计算机之间安全地传输数据,而不会受到中间人或黑客的攻击。我们在Linux或macOS上应该总是使用SSH密钥对连接到其他计算机。在本文中,我们讨论了如何生成、保存SSH密钥,并为特定用户添加SSH密钥。希望这些步骤能帮助你更好地使用SSH来保护你的数据。