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

Mac设置公钥

目录

      • 1. 打开终端
      • 2. 生成SSH密钥对
      • 3. 保存密钥对
      • 4. 设置密码短语(可选)
      • 5. 查看生成的密钥
      • 6. 添加公钥到远程服务器(示例)
      • 7. 验证连接
      • 总结

在macOS上生成SSH公钥(和私钥)通常使用ssh-keygen命令。以下是详细的步骤:

1. 打开终端

你可以通过以下方式打开终端:

  • 使用 Spotlight 搜索(按 Cmd + Space,然后输入“Terminal”并按回车)。
  • 或者在“应用程序” -> “实用工具”中找到“终端”。

2. 生成SSH密钥对

在终端中输入以下命令来生成SSH密钥对:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • -t rsa:指定密钥类型为RSA。
  • -b 4096:指定密钥长度为4096位。
  • -C "your_email@example.com":为密钥添加一个注释(通常是你的电子邮件地址)。

3. 保存密钥对

系统会提示你输入文件名来保存密钥对:

Enter file in which to save the key (/Users/your_username/.ssh/id_rsa):

按回车键使用默认路径(推荐),或者你可以指定一个自定义路径。

4. 设置密码短语(可选)

系统会提示你输入一个密码短语来保护私钥:

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

你可以选择输入一个密码短语,也可以直接按回车键跳过(不推荐跳过,因为密码短语可以增加安全性)。

5. 查看生成的密钥

默认情况下,密钥会保存在~/.ssh目录下。你可以使用以下命令查看生成的公钥:

cat ~/.ssh/id_rsa.pub

这会显示你的公钥内容,你可以将其复制并添加到需要使用的服务(如GitHub、GitLab或远程服务器)的授权密钥列表中。

6. 添加公钥到远程服务器(示例)

假设你要将公钥添加到远程服务器的~/.ssh/authorized_keys文件中,可以使用以下命令:

ssh-copy-id user@remote_host
  • user:远程服务器的用户名。
  • remote_host:远程服务器的IP地址或主机名。

7. 验证连接

你可以尝试连接到远程服务器以验证公钥是否配置正确:

ssh user@remote_host

如果一切正常,你应该能够使用SSH公钥进行无密码登录。

总结

通过以上步骤,你可以在macOS上生成SSH公钥,并将其添加到需要使用的服务或远程服务器中。这样可以提高安全性,并简化登录过程。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Linux:shell命令
  • 安装ROS(catkin_pkg找不到)
  • Tkinter简介与实战(1)
  • 正则表达式与文本处理
  • 一句JS代码,实现随机颜色的生成
  • 力扣面试(五)
  • esp8266初始化卡在1的原因
  • CentOS通过rsync实现文件同步(daemon方式)
  • 【HDFS】HADOOP-11552.Allow handoff on the server side for RPC requests
  • Yarn UI 时间问题,相差8小时
  • AI测试:人工智能模型的核心测试指标,分类判别、目标检测、图像分割、定量计算分别有哪些指标?
  • 昇思25天学习打卡营第12天 |昇思MindSpore 基于 MindSpore 通过 GPT 实现情感分类
  • CANoe:System Variables模块介绍
  • 只有IP地址没有域名怎么实现HTTPS访问?
  • 自动问答之白嫖文心一言大模型
  • Google 是如何开发 Web 框架的
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • classpath对获取配置文件的影响
  • FineReport中如何实现自动滚屏效果
  • JavaScript中的对象个人分享
  • nginx 负载服务器优化
  • nodejs:开发并发布一个nodejs包
  • Objective-C 中关联引用的概念
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • Vue学习第二天
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 工作中总结前端开发流程--vue项目
  • 力扣(LeetCode)357
  • 前端存储 - localStorage
  • 驱动程序原理
  • 让你的分享飞起来——极光推出社会化分享组件
  • 十年未变!安全,谁之责?(下)
  • 数组大概知多少
  • 详解NodeJs流之一
  • 用Python写一份独特的元宵节祝福
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 做一名精致的JavaScripter 01:JavaScript简介
  • AI算硅基生命吗,为什么?
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • # Panda3d 碰撞检测系统介绍
  • #includecmath
  • #VERDI# 关于如何查看FSM状态机的方法
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (13)Hive调优——动态分区导致的小文件问题
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (多级缓存)缓存同步
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (论文阅读11/100)Fast R-CNN
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布