如何生成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 root@192.168.1.100  

或者:

#ssh-copy-id -i ~/.ssh/id_ed25519.pub root@192.168.1.100

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

示例:

 

方法 2:手动复制公钥

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

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

#cat ~/.ssh/id_rsa.pub

#cat ~/.ssh/id_ed25519.pub

     2. 登录到远程服务器:

#ssh root@192.168.1.100

     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 用户发现这个很有用
此文章对您是否有帮助?

相关文章

公有云控制面板切换VPC主IP

云服务器的VPC网络使用主IP的网络,当主IP因封堵或其他原因无法通信远程时,可以选择切换主IP使机器可以通信远程登录(如果有附加IP可以在控制面板切换IP,没有附加IP可以选择在后台升/降级进...

公有云重置密码操作

一.客户后台重置密码 1.在后台找到需要操作的产品,进入产品管理页面   2.在管理页面中,在上面的一行里的右边点击"重置密码"   3.点击生成随机密码 -...

公有云如何进入救援模式

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

公有云如何组建内网

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

公有云安全组使用介绍

1.进入后台管理 -选择产品服务>公有云-选择需要操作的云服务器,点击进入     2.选择安全组功能 - 新建安全组 - 自定义安全组名称 - 点击确定...