如何向服务器添加 ssh 公钥

原创
ithorizon 7个月前 (10-05) 阅读数 32 #Linux

怎样向服务器添加 ssh 公钥

在Linux和Unix系统中,SSH(Secure Shell)是一种稳固协议,用于在网络中加密地传输数据。SSH公钥认证是一种常用的稳固登录方法,它允许用户通过公钥和私钥对来访问远程服务器,而不需要输入密码。以下是怎样向服务器添加SSH公钥的详细步骤。

### 1. 生成 SSH 密钥对

首先,您需要在本地计算机上生成一对SSH密钥,包括公钥和私钥。

bash

ssh-keygen -t rsa -b 4096

上述命令会生成一个名为`id_rsa`的私钥和一个名为`id_rsa.pub`的公钥。

### 2. 复制公钥到剪贴板

通常情况下,您不需要手动复制公钥内容,由于大多数SSH客户端都会自动完成这一步骤。但如果需要手动操作,可以使用以下命令:

bash

cat ~/.ssh/id_rsa.pub

这将显示您的公钥内容,您可以将其复制到剪贴板。

### 3. 登录到服务器

使用SSH客户端登录到您的服务器。如果您使用的是命令行工具,可以使用以下命令:

bash

ssh user@server_ip

如果您使用的是图形界面SSH客户端,按照软件的提示进行操作。

### 4. 将公钥添加到服务器的 `~/.ssh/authorized_keys` 文件

在服务器上,将您的公钥添加到`~/.ssh/authorized_keys`文件中。这个文件通常位于用户的主目录下的`.ssh`文件夹中。

首先,确保`.ssh`文件夹存在:

bash

mkdir -p ~/.ssh

然后,将公钥添加到`authorized_keys`文件中。如果文件已经存在,可以使用以下命令:

bash

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

如果文件是新的,您需要创建并编辑它:

bash

nano ~/.ssh/authorized_keys

然后将公钥粘贴到文件中,并保存退出。

### 5. 设置文件权限

为了确保稳固性,您需要设置`.ssh`文件夹和`authorized_keys`文件的正确权限:

bash

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

### 6. 测试 SSH 登录

现在,您应该能够使用SSH密钥对登录到服务器,而不需要输入密码。尝试以下命令:

bash

ssh -i ~/.ssh/id_rsa user@server_ip

如果一切设置正确,您应该能够胜利登录到服务器。

### 7. 使用 PuTTY 连接到 Windows 服务器

如果您使用的是Windows系统,并且想要使用PuTTY连接到服务器,您需要将公钥导入到PuTTYgen中。

- 打开PuTTYgen。

- 点击“Load”按钮,选择您的私钥文件(通常是`id_rsa`)。

- 将公钥的内容复制并粘贴到PuTTYgen的“Key”框中。

- 点击“Save private key”保存私钥,并为其设置密码(如果需要)。

- 在PuTTY中,选择“Session” -> “Import known hosts” -> “Add known host”。

- 输入服务器的IP地址或主机名,然后点击“Add”。

- 点击“Open”启动PuTTY会话。

### 总结

通过以上步骤,您已经胜利地向服务器添加了SSH公钥,并可以使用密钥对进行稳固登录。这种方法比传统的密码登录更稳固,由于它减少了密码泄露的风险。如果您有多个服务器,可以重复上述步骤,将公钥添加到每个服务器的`authorized_keys`文件中。

本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: Linux


热门