使用私钥登录 SSH 服务器(免密登录)
时间:2024-04-09 09:10:52 来源:网络cs 作者:利杜鹃 栏目:社群媒体 阅读:
SSH(Secure Shell)是一种用于远程登录和安全数据传输的协议。通过SSH,您可以在不安全的网络上安全地连接到远程服务器,并进行加密的数据传输。SSH支持多种身份验证方式,其中之一是使用SSH密钥对进行免密码登录。以下是使用私钥登录SSH服务器的详细介绍:
生成SSH密钥对:
在本地计算机上打开终端或命令行。
使用以下命令生成SSH密钥对。这将创建一个RSA密钥对,包括一个私钥(id_rsa)和一个公钥(id_rsa.pub)。
ssh-keygen -t rsa
您将被提示选择密钥的存储位置和密码(可选)。按照提示进行操作即可生成SSH密钥对。
复制公钥到服务器:
使用以下命令将您的公钥(id_rsa.pub)复制到服务器上,替换your_username
为您在服务器上的用户名,your_server_ip_or_hostname
为服务器的IP地址或主机名。
ssh-copy-id -i id_rsa.pub your_username@your_server_ip_or_hostname
您将需要输入服务器的密码以完成此操作。
如果服务器不支持ssh-copy-id
命令,您可以手动将公钥内容追加到服务器上的~/.ssh/authorized_keys
文件中。
要将公钥内容手动追加到服务器上的~/.ssh/authorized_keys
文件中,可以按照以下步骤进行操 作:
在本地计算机上生成SSH密钥对(如果尚未生成):
ssh-keygen -t rsa
这将生成一个RSA密钥对,包括私钥(id_rsa)和公钥(id_rsa.pub)。
查看您的公钥:
您可以使用文本编辑器或终端命令来查看公钥文件内容。使用cat
命令来查看公钥文件的内容:
cat ~/.ssh/id_rsa.pub
将会显示公钥内容。
连接到服务器:
使用SSH连接到服务器,替换your_username
和your_server_ip_or_hostname
为实际的用户名和服务器地址:
ssh your_username@your_server_ip_or_hostname
您将需要输入服务器密码以进行连接。
创建~/.ssh
目录(如果不存在):
如果~/.ssh
目录不存在,可以使用以下命令创建它:
mkdir -p ~/.ssh
打开authorized_keys
文件进行编辑:
使用文本编辑器(如nano
或vim
)打开~/.ssh/authorized_keys
文件:
nano ~/.ssh/authorized_keys
在文本编辑器中,粘贴您本地计算机上生成的公钥内容(id_rsa.pub
文件中的内容)。
保存并退出文本编辑器:
如果您使用nano
编辑器,按Ctrl + O
保存文件,然后按Enter
。然后按Ctrl + X
退出编辑器。 设置文件权限:
为了确保安全性,您需要设置~/.ssh
目录和authorized_keys
文件的权限。运行以下命令:
chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys
这将仅允许您的用户访问这些文件。
命令生成之后使用 ls 命令查看一下
id_rsa id_rsa.pub
密钥生成后会在当前目录下多出两个文件,id_rsa 和 id_rsa.pub,其中 id_rsa 是私钥(客户端使用),id_rsa.pub 这个是公钥(服务器使用)
现在,您已经手动将公钥内容追加到服务器上的~/.ssh/authorized_keys
文件中,以允许使用私钥进行SSH免密码登录。
连接到SSH服务器:
现在,您可以客户端使用私钥进行SSH连接。在本地终端或命令行中,运行以下命令以连接到服务器: ssh -i id_rsa your_username@your_server_ip_or_hostname
您将不再需要输入服务器密码,而是会自动使用私钥进行身份验证。 通过这些步骤,您已经实现了SSH服务器的免密码登录。请确保您妥善保管私钥文件,以确保安全性。这种方式不仅方便,还提高了服务器的安全性,因为私钥通常比密码更难被破解。
本文链接:https://www.kjpai.cn/news/2024-04-09/155806.html,文章来源:网络cs,作者:利杜鹃,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!