ssh 公私钥(github)

一、生成ssh公私钥

生成自定义名称的SSH公钥和私钥对,需要使用ssh-keygen命令,这是大多数Linux和Unix系统自带的标准工具。下面,简单展示如何使用ssh-keygen命令来生成具有自定义名称的SSH密钥对

步骤 1: 打开终端

首先,打开我们的终端(或命令提示符)。在Windows上,我们可能需要使用PuTTYgen或者通过Git Bash来执行相似的命令,但这个指南将关注标准的Unix-like环境。

步骤 2: 生成密钥对

接下来,使用以下命令生成一个新的SSH密钥对。这里,your_custom_name应该被替换为我们想要用于密钥文件的名称。不要加.pub或者任何其它的后缀,因为ssh-keygen会自动为公钥文件添加.pub后缀。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/your_custom_name

这条命令中的参数说明如下:

  • -t rsa: 指定密钥类型,这里是RSA。
  • -b 4096: 指定密钥的位数,这里是4096位,当前推荐的安全长度。
  • -C "your_email@example.com": 添加一个注释(通常是电子邮件地址)到密钥中。这对于识别用途在哪、属于谁很有帮助。
  • -f ~/.ssh/your_custom_name: 指定生成密钥的路径和文件名。这里~/.ssh/是SSH目录的标准位置,your_custom_name是你的自定义文件名。

步骤 3: 输入密码(可选)

在执行命令后,系统可能会提示我们输入一个密码(passphrase)。这一步是可选的,但是推荐我们为密钥对设置一个密码以增加安全性。如果不想设置密码,直接按回车键跳过。

步骤 4: 验证生成的密钥

生成密钥对后,我们可以通过列出~/.ssh目录的内容来验证它们是否成功创建:

ls ~/.ssh

应该看到我们的自定义文件名和同名的.pub文件,例如:

your_custom_name  your_custom_name.pub

your_custom_name是私钥文件,而your_custom_name.pub是公钥文件。

步骤 5: 使用SSH密钥

现在我们已经有了自定义命名的SSH密钥对,可以开始使用它们了。例如,我们可以把公钥(.pub文件)添加到想要通过SSH连接的服务器上的~/.ssh/authorized_keys文件中,从而实现无密码登录。

这样,我们就成功生成了一个自定义命名的SSH密钥对。确保保管好私钥,并且只将公钥共享给需要它的服务或个人。

二、 git 上传项目

手把手教你用git上传项目到GitHub(图文并茂,这一篇就够了),相信你一定能成功!! - 知乎GitHub是基于git实现的代码托管。git是目前最好用的版本控制系统了,非常受欢迎,比之svn更好。 GitHub可以免费使用,并且快速稳定。即使是付费帐户,每个月不超过10美刀的费用也非常便宜。 利用GitHub,你可以将…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/193140870

本地项目目录
git init
git add .
git commit -m "提交文件"
git remote add origin git@github.com:XXXXXX/XXXXXXXX.git

上传
git push -u origin master     输入 yes

三、尝试向GitHub推送代码时收到"Permission denied (publickey)"错误

当在尝试向GitHub推送代码时收到"Permission denied (publickey)"错误,意味着GitHub无法通过公钥认证的SSH连接。这个问题通常由以下几个原因引起:

  1. 未将SSH公钥添加到GitHub账户:GitHub需要公钥来验证身份。
  2. SSH密钥没有加载到SSH代理:即使有一个SSH公钥,它也需要被SSH代理加载。
  3. SSH配置问题:有时候SSH配置不正确也会导致这个问题。

按以下步骤来解决这个问题:

步骤 1: 确认SSH公钥已添加到GitHub

  1. 在你的电脑上打开终端,使用cat命令查看你的公钥内容。假设密钥名称为id_rsa.pub,运行:

    cat ~/.ssh/id_rsa.pub

    如果使用的是其他名称,请相应地替换文件名。

  2. 登录到GitHub账户,进入Settings > SSH and GPG keys

  3. 点击New SSH key 按钮,将公钥(步骤1中显示的内容)粘贴到框中,并保存。

步骤 2: 确认SSH密钥已加载到SSH代理

  1. 运行ssh-add -l查看已加载的密钥。如果密钥已加载,这个命令将列出它们。

  2. ssh-add -l
  3. 如果你的密钥没有被列出,使用ssh-add ~/.ssh/id_rsa来添加它。如果你使用的是自定义名称,确保正确地替换了路径和文件名。

  4. ssh-add ~/.ssh/custom_id_rsa

步骤 3: 尝试SSH到GitHub

运行以下命令来测试你的SSH连接到GitHub:

ssh -T git@github.com

如果连接成功,你将看到一条欢迎信息。这表示SSH设置正确。

步骤 4: 再次尝试git操作

在确认SSH设置无误后,再次尝试执行你的git命令:

git push -u origin master

怎么删除之前添加的一些无效的SSH代理呢?

删除之前add的无效SSH代理的方式

假设之前添加了几个不同的密钥到SSH代理,现在想删除它们:

  1. 查看已加载的密钥

    ssh-add -l
  2. 删除特定的密钥(例如:~/.ssh/custom_key):

    ssh-add -d ~/.ssh/custom_key
  3. 删除所有的密钥:

    ssh-add -D

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/498140.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

增强现实(AR)和虚拟现实(VR)营销的未来:沉浸式体验和品牌参与

--- 如何将AR和VR技术应用于营销,以提高品牌知名度、客户参与度 增强现实(AR)和虚拟现实(VR)不再只是游戏。这些技术为品牌与受众互动提供了创新的方式。营销人员可以创造更好的客户体验,并为身临其境的故…

hadoop-3.1.1分布式搭建与常用命令

一、准备工作 1.首先需要三台虚拟机: master 、 node1 、 node2 2.时间同步 ntpdate ntp.aliyun.com 3.调整时区 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 4.jdk1.8 java -version 5.修改主机名 三台分别执行 vim /etc/hostname 并将内容指定为…

电脑突然死机怎么办?

死机是电脑常见的故障问题,尤其是对于老式电脑来说,一言不合电脑画面就静止了,最后只能强制关机重启。那么你一定想知道是什么原因造成的吧,一般散热不良最容易让电脑死机,还有系统故障,比如不小心误删了系…

【实现报告】学生信息管理系统(顺序表)

目录 实验一 线性表的基本操作 一、实验目的 二、实验内容 三、实验提示 四、实验要求 五、实验代码如下: (一)顺序表的构建及初始化 (二)检查顺序表是否需要扩容 (三)根据指定学生个…

企业网站建设的方法的相关问题的解决办法的问题

现在市场上比较大的公司都建立了自己的企业网站,比如华为、小米等,在他们的企业网站中,可以充分展示自己产品的优势,介绍公司的优质服务。 这都是让顾客改变购买想法的重要因素。 现在互联网发达了,很多人在购买产品的…

详细分析axios.js:72 Uncaught (in promise) Error: 未知错误 的解决方法(图文)

目录 1. 问题所示2. 原理分析3. 解决方法1. 问题所示 调试接口的时候,打开一个网页,在终端出现如下错误: axios.js:72 Uncaught (in promise) Error: 未知错误at __webpack_exports__.default (axios.js:72:1)截图如下所示: 2. 原理分析 点击浏览器的Bug出错: // 如果…

C/C++语言学习路线: 嵌入式开发、底层软件、操作系统方向(持续更新)

初级:用好手上的锤子 1 【感性】认识 C 系编程语言开发调试过程 1.1 视频教程点到为止 1.2 炫技视频看看就行 1.3 编程游戏不玩也罢 有些游戏的主题任务就是编程,游戏和实际应用环境有一定差异(工具、操作流程),在…

进程知识点

引用的文章:操作系统——进程通信(IPC)_系统ipc-CSDN博客 面试汇总(五):操作系统常见面试总结(一):进程与线程的相关知识点 - 知乎 (zhihu.com) 二、进程的定义、组成、组成方式及特征_进程的组成部分必须包含-CSDN博…

2024年北京事业单位报名照片要求,注意格式

2024年北京事业单位报名照片要求,注意格式

【C语言】预处理常见知识详解(宏详解)

文章目录 1、预定义符号2、define2.1 define 定义常量2.2 define 定义宏 3、#和##3.1 **#**3.2 **##** 4、条件编译(开关) 1、预定义符号 在C语言中内置了一些预定义符号,可以直接使用,这些符号实在预处理期间处理的,…

工控安全双评合规:等保测评与商用密码共铸新篇章

01.双评合规概述 2017年《中华人民共和国网络安全法》开始正式施行,网络安全等级测评工作也在全国范围内按照相关法律法规和技术标准要求全面落实实施。2020年1月《中华人民共和国密码法》开始正式施行,商用密码应用安全性评估也在有序推广和逐步推进。…

信息安全之网络安全防护

先来看看计算机网络通信面临的威胁: 截获——从网络上窃听他人的通信内容中断——有意中断他人在网络上的通信篡改——故意篡改网络上传送的报文伪造——伪造信息在网络上传送 截获信息的攻击称为被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动…

深入了解高压电阻器的世界,探索其操作、类型和在各种高压应用中的关键作用

高压电阻器是高压条件下的专用元件,对于管理电压和散热至关重要 它们的工作原理是欧姆定律 类型包括线绕电阻、碳复合电阻、金属氧化物膜电阻、厚膜电阻和薄膜电阻这些电阻器在电力系统、医疗设备、汽车电子和电信设备中是必不可少的。 额定电压从600V到48KV 80p…

fastadmin学习04-一键crud

FastAdmin 默认内置一个 test 表,可根据表字段名、字段类型和字段注释通过一键 CRUD 自动生成。 create table fa_test (id int unsigned auto_increment comment ID primary key,user_id int(10) default 0 null…

基础算法-去重字符串,辗转相除法,非递归前序遍历二叉树题型分析

目录 不同子串 辗转相除法-求最大公约数 二叉树非递归前序遍历 不同子串 从a开始,截取 a aa aaa aaab 从第二个下标开始a aa aab 从第三个 a ab 从第四个 b 使用set的唯一性,然后暴力遍历来去去重,从第一个下标开始截取aaab a aa aaa aaab…

代码随想录算法训练营第36天|738.单调递增的数字|968.监控二叉树|总结

代码随想录算法训练营第36天|738.单调递增的数字|968.监控二叉树|总结 738.单调递增的数字 https://programmercarl.com/0738.%E5%8D%95%E8%B0%83%E9%80%92%E5%A2%9E%E7%9A%84%E6%95%B0%E5%AD%97.html class Solution { public:int monotoneIncreasingDigits(int n) {string s…

R语言批量计算t检验,输出pvalue和均值

1.输入数据如下&#xff1a; 2.代码如下 setwd("E:/R/Rscripts/rG4相关绘图") # 读取CSV文件 data <- read.csv("box-cds-ABD-不同类型rg4-2.csv", stringsAsFactors FALSE)# 筛选出Type2列为指定五种类型的数据 filtered_data <- subset(data, …

【分类评估指标,精确率,召回率,】from sklearn.metrics import classification_report

from&#xff1a; https://zhuanlan.zhihu.com/p/368196647 多分类 from sklearn.metrics import classification_report y_true [0, 1, 2, 2, 2] y_pred [0, 0, 2, 2, 1] target_names [class 0, class 1, class 2] # print(classification_report(y_true, y_pred, targe…

学浪m3u8视频解密

学浪视频在网页上并不是mp4&#xff0c;而是以m3u8进行传输&#xff0c;使用m3u8可以有效解决服务器的压力&#xff0c;而且不仅仅是m3u8&#xff0c;还加密了key&#xff0c;需要逆向key算法得到真实key 下面是学浪m3u8视频解密的工具&#xff0c;全程自动化&#xff0c;不需…

MobileSAM 项目排坑

MobileSAM 项目排坑 任务过程记录创建环境交互式测试notebookV2测试 任务 把MobileSAM这个项目跑通&#xff0c;明天就可以集中学习SAM、MobileSAM、EfficientSAM和Segformer的论文和代码了。 过程记录 创建环境 老样子&#xff1a; git clone https://github.com/Chaonin…