
Linux 为 SSH 生成、管理和转换认证密钥
SSH(Secure Shell)是一种在远程连接中常用的加密协议,在 Linux 系统中,我们可以使用 SSH 来远程连接服务器。SSH 使用密钥认证可以让我们在远程连接时不再需要每次输入密码,提高了安全性和便利性。本文将介绍如何在 Linux 中生成、管理和转换 SSH 认证密钥。
1. 生成 SSH 认证密钥
可以使用命令 ssh-keygen
来生成 SSH 认证密钥。该命令可以生成一对包含公钥和私钥的密钥文件,默认生成的密钥文件名为 id_rsa
和 id_rsa.pub
。执行以下命令生成默认 SSH 密钥:
ssh-keygen -t rsa
命令执行后,会提示输入文件名和路径,可以直接按回车键使用默认值。接下来会提示输入密码,可以直接回车键跳过。密钥文件生成后,公钥文件将保存在您的主目录下的 .ssh
目录中。在 Linux 终端中,您可以使用以下命令查看公钥:
cat ~/.ssh/id_rsa.pub
2. 使用非默认选项生成 SSH 认证密钥
您可以根据自己的需要使用不同的选项生成 SSH 认证密钥。以下是一些常用的选项:
-b
:指定密钥的位数,例如 -b 4096。-C
:指定注释,例如 -C “my key”。-f
:指定密钥文件的名称和路径。
例如,使用以下命令生成具有 4096 位的密钥:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/my_key
3. 管理 SSH 认证密钥
可以将公钥文件复制到服务器上的 ~/.ssh/authorized_keys
文件中,以授权您的密钥访问该服务器。可以手动编辑该文件,也可以使用以下命令将公钥添加到该文件:
ssh-copy-id -i ~/.ssh/my_key.pub user@server
其中,user
是您要连接的服务器用户的用户名,server
是您要连接的服务器 IP 地址或域名。命令执行后,将提示您输入服务器用户密码。
如果您需要从服务器上删除一个授权的密钥,可以简单地从 ~/.ssh/authorized_keys
文件中删除相应的公钥。
4. 转换 SSH 认证密钥格式
有时候您可能需要将密钥从一种格式转换为另一种格式,例如将 OpenSSH 格式的密钥转换为 PuTTY 格式的密钥。可以使用以下命令对密钥进行转换:
ssh-keygen -e -f ~/.ssh/my_key > my_key.pub
该命令将 ~/.ssh/my_key
密钥文件转换为公钥,并将其保存到名为 my_key.pub
的文件中。
以上就是 Linux 为 SSH 生成、管理和转换认证密钥的方法。使用 SSH 密钥认证可以提高连接的安全性和便利性,建议您使用 SSH 密钥认证来连接远程服务器。

暂无评论内容