如何生成SSH密钥对

使用密钥进行远程连接的主要目的是提高安全性、简化登录流程,并支持自动化操作。相比于密码认证,密钥认证具有以下优势:

  1. 更高的安全性,抵抗暴力破解和中间人攻击。

  2. 无需记忆密码,避免密码泄露。

  3. 支持自动化任务和批量管理。

  4. 提供细粒度的访问控制和权限管理。

因此,密钥认证是远程连接服务器的最佳实践,尤其是在生产环境或需要高安全性的场景中。

本文介绍从生成密钥到如何使用密钥进行远程登录介绍

 

一. 生成 SSH 密钥对

1. 在 客户端机器(即你要用来登录远程服务器的机器)上执行以下命令:

#ssh-keygen -t rsa -b 4096

或者,使用 更安全的 Ed25519 算法(推荐):

#ssh-keygen -t ed25519

2. 在生成密钥时,你会被要求输入一个 密码短语(passphrase)。这不是必需的,但建议为密钥添加密码以提高安全性。如果不想每次登录时输入密码短语,可以直接按回车跳过。

示例:

     生成密钥后会在用户的 ~/.ssh 目录下生成两个文件:

  • 私钥id_rsaid_ed25519

  • 公钥id_rsa.pubid_ed25519.pub

  • 私钥(id_rsa) 仅存放在本地,公钥(id_rsa.pub) 需要上传到服务器

 

二. 将公钥复制到远程服务器

接下来,你需要将 公钥 复制到远程服务器的 ~/.ssh/authorized_keys 文件中。

方法 1:使用 ssh-copy-id(推荐)

ssh-copy-id 是最简便的复制公钥的方法。假设你的远程服务器 IP 地址为 192.168.1.100,用户名是 root,执行以下命令:

#ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]  

或者:

#ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]

然后输入 远程服务器的密码,完成后,公钥会被自动添加到远程服务器的 ~/.ssh/authorized_keys 文件中。

示例:

 

方法 2:手动复制公钥

如果 ssh-copy-id 命令不可用,可以手动将 公钥 复制到远程服务器:

  1. 在本地执行以下命令,查看公钥内容:

#cat ~/.ssh/id_rsa.pub

#cat ~/.ssh/id_ed25519.pub

     2. 登录到远程服务器:

#ssh [email protected]

     3. 在远程服务器上,编辑 ~/.ssh/authorized_keys 文件:

#mkdir -p ~/.ssh

#chmod 700 ~/.ssh

#vi ~/.ssh/authorized_keys

     4. 将 本地公钥 内容粘贴到 authorized_keys 文件中,然后保存并退出。

修改权限:

#chmod 600 ~/.ssh/authorized_keys

 

接下来会从macOS系统、windows系统和不同的远程工具介绍如何通过私钥进行远程登录。

  • 0 用户发现这个很有用
此文章对您是否有帮助?

相关文章

公有云手动安装系统操作

1.登录raksmart后台,点击产品与服务   2.点击进入需要操作的云产品   3.安装前先将服务器关机,随后点击刷新服务器状态   4.关机后点击"设置" -...

公有云开启google二次验证

为保证用户Rak Cloud管理后台的安全,Rak Cloud服务面板支持设置登陆动态口令验证。  1.启用方法:推荐使用微软的 Microsoft authenticator...

公有云如何组建内网

云主机组建内网需确保机器为同一线路,同一地区,并且网络类型为VPC网络,组内网机器会进行关机重启操作。...

公有云如何进入救援模式

1.当服务器的系统无法正常进入系统,但需要备数据,可以选择进入救援模式下行备数据 2.首先需要登录到控制面板里进行操作 (面板登录方式请参考 公有云控制面板如何登录)...

公有云快照/备份功能操作

1.在后台"产品服务" - "公有云" - 找到需要操作的产品,点击进入 2.在管理产品页面中 - 点击快速照片/备件的功能 此功能需要购买后才能可见使用 3.点击创建快照...