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

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

相关文章:

ssh 公私钥(github)

一、生成ssh公私钥 生成自定义名称的SSH公钥和私钥对,需要使用ssh-keygen命令,这是大多数Linux和Unix系统自带的标准工具。下面,简单展示如何使用ssh-keygen命令来生成具有自定义名称的SSH密钥对。 步骤 1: 打开终端 首先,打开我…...

LangChain入门:8.打造自动生成广告文案的应用程序

在这篇技术博文中,我们将探讨如何利用LangChain框架的模板管理、变量提取和检查、模型切换以及输出解析等优势,打造一个自动生成广告文案的应用程序。 LangChain框架的优势 在介绍应用程序之前,让我们先了解一下LangChain框架的几个优势: 模板管理: 在大型项目中,文案可…...

AI如何影响装饰器模式与组合模式的选择与应用

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》《MYSQL应用》 💪🏻 制定明确可量化的目标,坚持默默的做事。 🚀 转载自热榜文章:设计模式深度解析:AI如何影响…...

【C语言环境】Sublime中运行C语言时MinGW环境的安装

要知道,GCC 官网提供的 GCC 编译器是无法直接安装到 Windows 平台上的,如果我们想在 Windows 平台使用 GCC 编译器,可以安装 GCC 的移植版本。 目前适用于 Windows 平台、受欢迎的 GCC 移植版主要有 2 种,分别为 MinGW 和 Cygwin…...

Ubuntu18.04 下Ublox F9P 实现RTK (利用CORS服务无需自建基站)

本内容参考如下连接:Ubuntu下Ublox F9P利用CORS服务无需自建基站实现RTK-CSDN博客 一、Ublox F9P 硬件模块示意图 图中展示了Ublox F9P的接口,包括串口2(`UART1`和`UART2`),USB1。需要人为通过u-center(Ublox F9P的显示软件)软件设置以下功能: Ublox通过`UART1`向PC端发送…...

springboot+vue在idea上面的使用小结

1.在mac上面删除java的jdk方法: sudo rm -rfjdk的路径 sudo rm -rf /Users/like/Library/Java/JavaVirtualMachines/corretto-17.0.10/Contents/Home 2.查询 Mac的jdk版本和路径: /usr/libexec/java_home -V 3.mac上面查询和关闭idea的网页端口&…...

MyEclipse将项目的开发环境与服务器的JDK 版本保持一致

前言 我们使用MyEclipse开发Java项目开发中,偶尔会遇到因项目开发环境不协调,导致这样那样的问题,在这里以把所有环境调整为JDK1.6 为例。 操作步骤 1.Window-->Preferences-->Java-->Installed JRES 修改为 1.6版本 2.Window-->…...

为BUG编程:函数重载的烦恼 char *匹配bool而不是string

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 这是一个BUG。 运行环境为linu…...

C++第十四弹---模板初阶

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、泛型编程 2、函数模板 2.1、函数模板的概念 2.2、函数模板的格式 2.3、函数模板的原理 2.4、函数模板的实例化 2.5、模板参数的匹配原则 …...

C++--内联函数

当调用一个函数时,程序就会跳转到该函数,函数执行完毕后,程序又返回到原来调用该函数的位置的下一句。 函数的调用也需要花时间,C中对于功能简单、规模小、使用频繁的函数,可以将其设置为内联函数。 内联函数&#xff…...

java数组与集合框架(一) -- 数据结构,数组

数据结构 概述 为什么要讲数据结构? 任何一个有志于从事IT领域的人员来说,数据结构(Data Structure)是一门和计算机硬件与软件都密切相关的学科,它的研究重点是在计算机的程序设计领域中探讨如何在计算机中组织和存储…...

React 应用实现监控可观测性最佳实践

前言 React 是一个用于构建用户界面的 JavaScript 框架。它采用了虚拟 DOM 和 JSX,提供了一种声明式的、组件化的编程模型,以便更高效地构建用户界面。无论是简单还是复杂的界面,React 都可以胜任。 YApi 是使用 React 编写的高效、易用、功…...

批处理(Batch)把Excel文件xls格式和xlsx格式进行互换

批处理(Batch)把Excel文件xls格式改成xlsx格式以及xlsx格式改为xls格式。 Case1:xls转xlsx - 单个文件.bat $Excel New-Object -ComObject Excel.Application $Excel.Visible $false $Workbook $Excel.Workbooks.Open("C:\Test\Excel\1.xls&qu…...

Adobe ColdFusion 任意文件读取漏洞复现(CVE-2024-20767)

0x01 产品简介 Adobe ColdFusion是美国奥多比(Adobe)公司的一套快速应用程序开发平台。该平台包括集成开发环境和脚本语言,将可扩展、改变游戏规则且可靠的产品的愿景变为现实。 0x02 漏洞概述 由于 Adobe ColdFusion 的访问控制不当,未经身份认证的远程攻击者可以构造恶…...

搜索与图论——Floyd算法求最短路

floyd算法用来求多源汇最短路 用邻接矩阵来存所有的边 时间复杂度O(n^3) #include<iostream> #include<cstring> #include<algorithm>using namespace std;const int N 20010,INF 1e9;int n,m,k; int g[N][N];void floyd(){for(int k 1;k < n;k ){f…...

春招冲刺百题计划--矩阵篇

289. 生命游戏 题目&#xff1a; 给定一个包含 m n 个格子的面板&#xff0c;每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态&#xff1a; 1 即为 活细胞 &#xff08;live&#xff09;&#xff0c;或 0 即为 死细胞 &#xff08;dead&#xff09;。每个细胞与…...

LLM大语言模型(八):ChatGLM3-6B使用的tokenizer模型BAAI/bge-large-zh-v1.5

背景 BGE embedding系列模型是由智源研究院研发的中文版文本表示模型。 可将任意文本映射为低维稠密向量&#xff0c;以用于检索、分类、聚类或语义匹配等任务&#xff0c;并可支持为大模型调用外部知识。 BAAI/BGE embedding系列模型 模型列表 ModelLanguageDescriptionq…...

MySQL中的三种日志

MySQL 包括三种类型的⽇志&#xff0c;分别是 binlog、 redolog 和 undolog&#xff0c;它们分别有不同的作⽤和特点。 binlog &#xff08;存档日志&#xff09; binlog&#xff08;Binary log&#xff09;是 MySQL 中的⼆进制⽇志⽂件&#xff0c;是 Server 层⽣成的的⽇志…...

Codeforces Round 932 (Div. 2)(A,B,C,D)

比赛链接 AB都是思维&#xff0c;更确切地说&#xff0c;A考了字符串字典序&#xff0c;很经典的贪心考点&#xff0c;B考了MEX运算。C出的还是比较好的&#xff0c;dp方法值得学习。D题是个不太好想的容斥&#xff0c;主要是变量有点多&#xff0c;容易搞混。 A. Entertainme…...

初识C++ · 入门(2)

目录 1 引用 1.1引用的概念 1.2 引用的特性 2 传值&#xff0c;传引用的效率 3 引用和指针的区别 4 内联函数 4.1 内联函数的定义 4. 2 内联函数的特性 5 关键字auto 5.1关于命名的思考 5.2 关于auto的发展 5.3 auto使用规则 6 范围for的使用 7 空指针 1 引用 …...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

MyBatis-Plus 常用条件构造方法

1.常用条件方法 方法 说明eq等于 ne不等于 <>gt大于 >ge大于等于 >lt小于 <le小于等于 <betweenBETWEEN 值1 AND 值2notBetweenNOT BETWEEN 值1 AND 值2likeLIKE %值%notLikeNOT LIKE %值%likeLeftLIKE %值likeRightLIKE 值%isNull字段 IS NULLisNotNull字段…...

项目研究:使用 LangGraph 构建智能客服代理

概述 本教程展示了如何使用 LangGraph 构建一个智能客服代理。LangGraph 是一个强大的工具&#xff0c;可用于构建复杂的语言模型工作流。该代理可以自动分类用户问题、分析情绪&#xff0c;并根据需要生成回应或升级处理。 背景动机 在当今节奏飞快的商业环境中&#xff0c…...

RMQ 算法详解(区间最值问题)

RMQ 算法详解&#xff08;区间最值问题&#xff09; 问题介绍解决方法暴力法ST表法基本思想算法步骤C实现 问题介绍 RMQ问题是OI中经常遇到的问题&#xff0c;主要是一下形式&#xff1a; 给你一堆数&#xff0c;不断的对里面的数进行操作&#xff0c;例如&#xff1a;让某个…...

django paramiko 跳转登录

在使用Django框架结合Paramiko进行SSH远程操作时&#xff0c;通常涉及到自动化脚本的执行&#xff0c;比如远程服务器上的命令执行、文件传输等。如果你的需求是“跳转登录”&#xff0c;即在登录远程服务器后&#xff0c;再通过该服务器的SSH连接跳转到另一台服务器&#xff0…...

Java中Git基础操作详解(clone、commit、push、branch)

Git是Java开发者必备的版本控制工具&#xff0c;以下是核心操作的详细说明及示例&#xff1a; ​​一、Git基础概念​​ ​​仓库&#xff08;Repository&#xff09;​​&#xff1a;存储代码的目录&#xff0c;包含所有版本历史。​​提交&#xff08;Commit&#xff09;​​…...

极昆仑智慧与数元灵科技达成战略合作

近日&#xff0c;北京极昆仑智慧科技有限公司与北京数元灵科技有限公司正式签署产品级融合战略合作协议&#xff0c;双方将围绕 "AIBI商业智能分析" " Hybrid RAG 大模型问答" 等核心大模型应用&#xff0c;实现技术架构与业务场景的深度集成&#xff0c;…...