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

相关文章

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID