详解Linux ssh-keygen命令:生成 SSH 密钥

  • Post category:Linux

以下是关于Linux ssh-keygen命令的详细讲解。

ssh-keygen命令介绍

ssh-keygen命令是Linux系统下用于生成、管理和转换密钥的命令行工具。它通常用于与SSH服务一起使用来提供安全的加密通信。

ssh-keygen命令可以创建RSA、DSA、ECDSA和ED25519类型的公私钥对,其中RSA最为常用。在使用ssh连接远程主机时,需要将生成的公钥部署到远程主机上,以实现密钥认证方式。

ssh-keygen命令使用方法

生成RSA密钥对

默认情况下,ssh-keygen命令用于生成RSA类型的公私钥对。可以使用以下命令生成一个2048位的RSA密钥对:

ssh-keygen -t rsa -b 2048

命令中的-t选项用于指定密钥类型,-b选项用于指定密钥长度。当命令执行后,系统会提示您输入密钥保存的文件名和保存位置,如果不手动指定则默认保存在~/.ssh/路径下。

生成ED25519密钥对

ED25519是一种新型的加密算法,它可以提供更高度的安全性和较好的性能。如果您想生成ED25519类型的密钥对,则需要执行以下命令:

ssh-keygen -t ed25519

使用这个命令默认生成一个256位的密钥。

向远程主机部署公钥

生成了公私钥对后,需要将公钥部署到远程主机上。可以使用ssh-copy-id命令来实现:

ssh-copy-id username@remote_host

上面的命令将会在远程主机的~/.ssh/authorized_keys文件中添加您的公钥,以实现密钥认证方式。如果您手动将公钥添加到authorized_keys文件中,确保公钥的权限为600。

以上就是ssh-keygen命令的基本使用方法。在实际应用中,还可以根据不同的情境和需求,通过不同的选项和参数来实现更加详细和复杂的操作。