当前位置: 首页 > news >正文

SSH生成SSH密钥(公钥和私钥)

在设置SSH服务时,生成SSH密钥(公钥和私钥)是一个常见的任务。这些密钥用于安全地进行身份验证,无需输入密码。以下是如何生成SSH密钥的步骤:

1. 生成SSH密钥对

首先,您需要在客户端机器上生成一个SSH密钥对。使用ssh-keygen命令来生成密钥对。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

-t rsa:指定密钥类型为RSA。
-b 4096:指定密钥长度为4096位。
-C “your_email@example.com”:添加注释(通常是您的电子邮件地址),这有助于识别密钥。
执行上述命令后,系统会提示您输入文件名以保存密钥(默认情况下保存在~/.ssh/id_rsa中),以及是否设置密码短语。设置密码短语可以增加额外的安全层,但也可以留空以便免密码连接。

2. 查看生成的密钥文件

生成密钥对后,您的SSH目录(通常是~/.ssh)中将包含以下两个文件:

id_rsa:私钥文件。
id_rsa.pub:公钥文件。

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

要使用SSH密钥登录到远程服务器,需要将生成的公钥添加到远程服务器上的~/.ssh/authorized_keys文件中。可以使用ssh-copy-id命令来完成此操作:

ssh-copy-id user@remote_host

user:远程服务器上的用户名。
remote_host:远程服务器的IP地址或域名。
此命令会提示您输入远程服务器用户的密码,并将公钥自动复制到远程服务器的~/.ssh/authorized_keys文件中。

4. 手动复制公钥 (可选)

如果无法使用ssh-copy-id,也可以手动复制公钥。首先查看公钥内容:

cat ~/.ssh/id_rsa.pub

然后,将输出的内容复制并粘贴到远程服务器上的~/.ssh/authorized_keys文件中。确保文件权限正确:

在远程服务器上执行

mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "your_public_key" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

5. 测试SSH连接

完成上述步骤后,您应该能够使用SSH密钥进行无密码登录:

ssh user@remote_host

如果一切正常,您将直接登录到远程服务器,而不需要输入密码。

6. 配置SSH客户端(可选)

为了更方便地管理多个SSH连接,可以在本地机器的~/.ssh/config文件中配置SSH客户端:

Host remote_host_aliasHostName remote_hostUser userIdentityFile ~/.ssh/id_rsa

这样,您可以通过别名进行连接:

ssh remote_host_alias

通过以上步骤,您可以生成SSH密钥并配置SSH服务,以便实现更加安全和便捷的无密码登录。

http://www.lryc.cn/news/376127.html

相关文章:

  • 阶段性总结:如何快速上手一个新的平台或者技术
  • kettle从入门到精通 第七十一课 ETL之kettle 再谈http post,轻松掌握body中传递json参数
  • 第十二章:会话控制
  • 【LeetCode滑动窗口算法】长度最小的子数组 难度:中等
  • MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
  • Day39
  • Nginx之HTTP模块详解
  • JCR一区 | Matlab实现GAF-PCNN、GASF-CNN、GADF-CNN的多特征输入数据分类预测/故障诊断
  • 最新Prompt预设词分享,DALL-E3文生图+文档分析
  • 基于SpringBoot+Vue会所产后护理系统设计和实现
  • Linux中的EINTR和EAGAIN错误码
  • 用户需求分析揭秘:最佳实践与策略
  • 批量创建文件夹 就是这么简单 一招创建1000+文件夹
  • LogicFlow 学习笔记——8. LogicFlow 基础 事件 Event
  • Nginx缓存之代理缓存配置
  • 【Android】使用SeekBar控制数据的滚动
  • 新能源汽车的能源动脉:中国星坤汽车电缆在新能源汽车电气化中的应用!
  • AVL许可证查询系统
  • 四个步骤,帮你成为价值导向型项目经理
  • Python3 使用 clickhouse-connect 操作 clickhouse
  • Python脚手架系列-DrissionPage
  • Java中如何调用mysql中函数
  • Huggingface-cli 登录最新版(2024)
  • Java学习 - Docker管理和容器命令 实例
  • 下载工程resources目录下的模板excel文件
  • 音频基础知识和音频指标
  • 使用Vue CLI在其他磁盘创建项目出现错误及解决
  • 关于lamda表达式的使用
  • Android替换默认的按键音
  • Windows 服务器Nginx 下载、部署、配置流程(图文教程)