📅  最后修改于: 2023-12-03 15:27:16.428000             🧑  作者: Mango
当你需要通过SSH远程访问服务器时,SSH密钥是一种更加安全的方式来验证你的身份。在使用SSH密钥时,你需要将公钥复制到服务器上,以便与私钥进行匹配。本文将介绍如何在Shell-Bash中直接复制SSH密钥。
首先,你需要在本地计算机上生成SSH密钥。你可以通过执行以下命令来完成:
ssh-keygen -t ed25519 -C "your_email@example.com"
这将生成一个新的SSH密钥对,其中包括一个私钥和一个公钥。默认情况下,它们存储在本地计算机的.ssh
文件夹中。
接下来,你需要将SSH公钥复制到远程服务器上。你可以使用以下命令来完成:
ssh-copy-id user@server.example.com
其中“user”是你要连接到远程服务器的用户名,“server.example.com”是远程服务器的地址。
当你执行此命令时,系统将提示你输入远程服务器上“user”的密码。如果输入正确,系统将自动将本地计算机上的SSH公钥复制到远程服务器。
如果你希望直接将SSH密钥复制到远程服务器上,你可以使用以下命令:
cat ~/.ssh/id_ed25519.pub | ssh user@server.example.com "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
此命令将打开~/.ssh/id_ed25519.pub
文件,将其内容传递给远程服务器,并将其复制到~/.ssh/authorized_keys
文件中。
现在,你可以使用SSH密钥连接到远程服务器。只需输入以下命令:
ssh user@server.example.com
系统将使用你的SSH密钥进行身份验证,而不需要输入密码。
总之,SSH公钥是在使用SSH时更加安全的身份验证方式。你可以使用以上介绍的方法在Shell-Bash中复制SSH公钥并直接将SSH密钥复制到远程服务器。