Linux ssh-keygen命令是用于生成和管理SSH密钥的命令行工具。SSH(Secure Shell)是一种安全的远程协议,它使用密钥对进行身份验证和加密通信。ssh-keygen是用于生成和管理这些密钥对的工具。以下是使用ssh-keygen命令的完整攻略:
生成公钥和私钥
要生成SSH密钥对,请使用以下命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
该命令将生成一个RSA密钥对,并将其存储在默认目录~/.ssh/下。这将要求您输入要使用的密钥文件名称,或者您可以直接按Enter键接受默认文件名称。接下来请设置密码,在这里您可以留空不设密码。
此时,您的公钥和私钥已生成,私钥被存储在~/.ssh/id_rsa,公钥被存储在~/.ssh/id_rsa.pub。请注意,私钥不能与其他人分享,而公钥可以在需要时与其他人分享。
示例:
$ ssh-keygen -t rsa -b 4096 -C "bob@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ~/.ssh/id_rsa.
Your public key has been saved in ~/.ssh/id_rsa.pub.
使用公钥进行身份验证
生成SSH密钥对后,您现在可以将公钥文件分发给其他人,以便他们可以使用您的公钥进行身份验证。将公钥添加到远程主机上的授权密钥列表中,使您可以在不使用密码的情况下访问远程主机。
要将公钥复制到远程主机,请使用以下命令:
ssh-copy-id user@remote_host
这将复制您的公钥文件(~/.ssh/id_rsa.pub)到远程主机上指定的用户的~/.ssh/authorized_keys文件中。如果您的公钥文件具有不同的名称,请将名称替换为上述命令中的文件名。
示例:
$ ssh-copy-id alice@example.com
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
alice@example.com's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'alice@example.com'"
and check to make sure that only the key(s) you wanted were added.
在此过程中,操作员将管理公共/私有密钥的方式shared secret存储在本地磁盘上,并将公共密钥复制到执行主机上。此方法可以在不共享密码的情况下提供身份验证和加密。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux ssh-keygen命令 - Python技术站