ssh-keygen
是 Linux 下一个常用的密钥生成工具,主要用于生成 SSH 协议的公钥和私钥。以下是 ssh-keygen
命令的详细作用和使用方法:
作用
- 生成 SSH 协议的公钥和私钥
- 添加或删除公钥到远程服务器
命令格式
ssh-keygen [选项] [参数]
命令选项
-b
:指定密钥长度,默认为 2048 位-t
:指定密钥类型,支持的类型有 rsa、dsa、ecdsa 和 ed25519,默认为 rsa-f
:指定密钥文件名称和路径-N
:为密钥设置一个密码-C
:在生成密钥时添加一个注释
生成 SSH 密钥对
我以 id_rsa
为文件名,生成 2048
位的密钥对,不设置密码,并在注释中说明是我的本地机器:
ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa -P '' -C '我的本地机器'
这个命令执行后,密钥对将会保存在 ~/.ssh/
目录下。
将公钥添加至远程服务器
我们可以通过 ssh-copy-id
命令将公钥添加至远程服务器。例如,将我的公钥添加至远程 SSH 服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote_server
运行该命令后,该公钥将被添加到远程目标服务器的 ~/.ssh/authorized_keys
文件中,允许使用密钥进行身份验证。
删除远程服务器上的公钥
我们可以通过手动编辑 ~/.ssh/authorized_keys
文件来删除公钥,也可以使用以下命令快速删除,例如我想删除 username
在远程服务器上的所有公钥:
ssh-keygen -f ~/.ssh/known_hosts -R remote_server_ip
以上就是使用 ssh-keygen
命令生成 SSH 密钥对的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Linux ssh-keygen命令:生成 SSH 密钥 - Python技术站