开发者
资源
SSH生成SSH密钥(公钥和私钥)-转载
SSH生成SSH密钥(公钥和私钥)-转载
发表于2024/07/08
10k2
 

在设置SSH服务时,生成SSH密钥(公钥和私钥)是一个常见的任务。这些密钥用于安全地进行身份验证,无需输入密码。以下是如何生成SSH密钥的步骤: 

 

1. 生成SSH密钥对 

首先,您需要在客户端机器上生成一个SSH密钥对。使用ssh-keygen命令来生成密钥对。 

 

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

-t rsa:指定密钥类型为RSA。 

-b 4096:指定密钥长度为4096位。 

-C “your_email@example.com”:添加注释(通常是您的电子邮件地址),这有助于识别密钥。 

执行上述命令后,系统会提示您输入文件名以保存密钥(默认情况下保存在~/.ssh/id_rsa中),以及是否设置密码短语。设置密码短语可以增加额外的安全层,但也可以留空以便免密码连接。 

 

2. 查看生成的密钥文件 

生成密钥对后,您的SSH目录(通常是~/.ssh)中将包含以下两个文件: 

 

id_rsa:私钥文件。 

id_rsa.pub:公钥文件。 

 

3. 将公钥复制到远程服务器 

要使用SSH密钥登录到远程服务器,需要将生成的公钥添加到远程服务器上的~/.ssh/authorized_keys文件中。可以使用ssh-copy-id命令来完成此操作: 

 

ssh-copy-id user@remote_host 

user:远程服务器上的用户名。 

remote_host:远程服务器的IP地址或域名。 

此命令会提示您输入远程服务器用户的密码,并将公钥自动复制到远程服务器的~/.ssh/authorized_keys文件中。 

 

4. 手动复制公钥 (可选) 

如果无法使用ssh-copy-id,也可以手动复制公钥。首先查看公钥内容: 

 

cat ~/.ssh/id_rsa.pub 

然后,将输出的内容复制并粘贴到远程服务器上的~/.ssh/authorized_keys文件中。确保文件权限正确: 

 

在远程服务器上执行 

mkdir -p ~/.ssh 

chmod 700 ~/.ssh 

echo "your_public_key" >> ~/.ssh/authorized_keys 

chmod 600 ~/.ssh/authorized_keys 

5. 测试SSH连接 

完成上述步骤后,您应该能够使用SSH密钥进行无密码登录: 

 

ssh user@remote_host 

如果一切正常,您将直接登录到远程服务器,而不需要输入密码。 

 

6. 配置SSH客户端(可选) 

为了更方便地管理多个SSH连接,可以在本地机器的~/.ssh/config文件中配置SSH客户端: 

 

Host remote_host_alias 

    HostName remote_host 

    User user 

    IdentityFile ~/.ssh/id_rsa 

这样,您可以通过别名进行连接: 

 

ssh remote_host_alias 

通过以上步骤,您可以生成SSH密钥并配置SSH服务,以便实现更加安全和便捷的无密码登录。 

———————————————— 

 

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 

                         

原文链接:https://blog.csdn.net/qq_43420088/article/details/139775270 

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞