github配置ssh密钥连接设置好后仍旧出错

2024-09-05 13:44

本文主要是介绍github配置ssh密钥连接设置好后仍旧出错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

前段时间配置ssh到GitHub,可是配置后还是用不了拉取什么的操作,后面查阅资料找到原因了,故分享出来

查看、开启ssh服务

首先先提供下在服务器上查看ssh服务状况的代码

  • 查看ssh服务的开启状态

    ps -e|grep ssh

    若中断出现sshd则表明系统已经安装ssh-server,否则则需要安装

    sudo apt-get install openssh-server
  • 启动ssh服务

    sudo /etc/init.d/ssh start

配置好GitHub密钥后出现Permission denied

配置过程就不赘述了,简单来说如下:复制公钥内容到自己的Github账户中。点击Github右上角账户图标→Settings→SSH and GPG keys→New SSH key,在Key一栏粘贴公钥内容

设置密钥的话一般有默认和自定义两种方式

默认创建id_rsa

$ ssh-keygen -t rsa 

自定义

$ ssh-keygen -t rsa -C “your email” -f id_rsa_xx

如果出现Permission denied的话,就是自定义了密钥名字/路径,但没有执行命令密钥添加到SSH认证代理中

可以输入以下命令验证是否生成了密钥以及是否有添加到SSH认证代理中

ssh-add -l -E sha256
# 如果配置失败,则没有任何输出;如果配置成功,则会输出类似以下内容
# SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ …… (RSA)

除了通过ssh-add的方式外,也可以通过设置config文件让SSH认证代理能找到这个密钥文件

vim ~/.ssh/config
# 打开(如果没有就创建一个)config文件,并输入以下内容。
​
Host github.comHostName github.comIdentityFile ~/.ssh/github_auth # 这里输入你的密钥路径

Support for password authentication was removed …

在配置好SSH后,进行git操作时,仍要求输密码,即使输入了正确的账户和密码,还是报错:

出错的原因在于:本地仓库在clone时使用的是HTTPS URL,故该仓库此时的remote协议会是HTTPS协议,然而SSH密钥连接只支持SSH URL,不支持HTTPS URL,故会要求输账户密码

以下命令可以查看到仓库的remote协议是HTTPS协议:

git config --get remote.origin.url
# 如果输出类似以下内容,则说明remote协议是HTTPS协议
# https://github.com/xxx/xxx.git
​
# 也可以查看仓库内的.git/config文件,查看url是git协议还是https协议。
# [remote "origin"]
#   url = https://github.com:YOUR_ACCOUNT/YOUR_PROJECT.git
#   fetch = +refs/heads/*:refs/remotes/origin/*

需要将remote协议从HTTPS协议修改为GIT协议。在本地仓库路径下输入以下命令:

git remote set-url origin git@github.com:xxx/xxx.git

这篇关于github配置ssh密钥连接设置好后仍旧出错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139126

相关文章

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信