如果您使用的是 Linux,您可能听说过一种名为 SSH 的工具。 Secure Shell,通常称为 SSH,是一种用于在远程客户端和服务器之间建立安全连接的网络协议。它旨在允许用户通过网络安全地远程登录各种计算机。在这里,本文将向您展示如何轻松设置 SSH 密钥并将其复制到服务器。
SSH 设置
要开始使用,您必须安装 SSH 服务器。您可以在软件中心或包管理器中找到并安装openssh-server包。或者,如果您在服务器上(或者更喜欢使用终端),请打开终端并输入以下命令:
Ubuntu/Debian
sudo apt install openssh-server
Fedora/CentOS/REHL
sudo dnf install openssh-server
在 Linux 中启用 SSH
在您的机器上安装 OpenSSH 服务器后,您需要启动并激活 systemd 。为此,只需在终端中输入以下命令:
sudo systemctl enable--now ssh
生成 SSH 密钥
一旦安装了 openssh 服务器,您就可以开始生成 SSH 密钥对。在继续之前,请确保您没有任何现有的密钥对,因为此过程将覆盖现有的密钥对。
要检查您当前是否有密钥对,请使用以下命令:
ls-la ~/.ssh
如果您当前有密钥对,上面的命令将显示文件 'id_rsa' 和 'id_rsa.pub' 。
在确认您当前没有 SSH 密钥对后,您可以继续生成新的密钥对。如果没有,请备份旧密钥以免丢失。
要生成新密钥,请使用以下命令:
ssh-keygen-t rsa-b 4096
上述命令调用 ssh-keygen 实用程序以交互方式生成 SSH 密钥对。使用 -t 选项指定要生成的密钥类型。在这种情况下,该示例将生成一个 RSA 密钥。
该示例还使用-b 选项来指定密钥中的位数。如果使用 RSA 密钥,则最小位大小为 1024。如果不指定,将生成 3072 位的密钥。
您应该使用默认位置来存储 SSH 密钥,以避免在使用密钥连接到 SSH 时必须输入路径。
如果您不想使用密码来加密您的密钥,请按Enter跳过。
复制密钥到远程服务器
现在,文章已经创建了一个新的 SSH 密钥对,现在需要将其上传到您要管理的远程计算机。
最有效的方法是使用ssh-copy-id 命令。 使用以下命令:
ssh-copy-id [email protected]_IP
如果您使用具有自己文件名的密钥文件,则可以使用以下命令指定密钥文件的路径。
ssh-copy-id-i ~/.ssh/id_rsa [email protected]_IP
如果您是第一次登录远程机器,您需要接受指纹。
接下来,输入远程用户的 SSH 密码。
一旦通过身份验证,ssh-copy-id 命令会将 id_rsa.pub 密钥的内容附加到 '~/.ssh/authorized_keys' 文件远程机器并关闭连接。
登录远程机器
完成上述所有步骤后,您现在应该可以不用密码登录远程服务器了。
您可以使用命令:
ssh [email protected]_ip
除非您为密钥启用了密码,否则您将自动登录。
希望你成功。
0 评论