首页 > 其他分享 >配置ssh连接git

配置ssh连接git

时间:2023-04-18 09:58:21浏览次数:39  
标签:github rsa git 密钥 key root 连接 ssh

在学习GitHub上的开源代码时,为了方便经常需要通过git从github克隆代码,如果是首次从github克隆代码时经常会碰到下面的提示:

Warning: Permanently added 'github.com,20.205.243.166' (ECDSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

由提示可知这个主机没有权限从 github 克隆代码。

解决办法很简单,只需要几个操作就可以搞定:

1. 查看ssh密钥

首先通过以下命令查看自己机器上的当前用户是否有ssh密钥:
# ls -l ~/.ssh
total 12
-rw-------. 1 root root 1679 Feb 27 03:03 id_rsa
-rw-r--r--. 1 root root  392 Feb 27 03:03 id_rsa.pub
-rw-r--r--. 1 root root  370 Feb 27 02:42 known_hosts

如果能看到id_rsa.pub文件(或者以.pub结尾的文件),则说明已经存在ssh密钥,那么直接按照步骤3操作就行。如果没有看到这个文件,说明不存在ssh密钥。那么需要按照步骤2先生成密钥文件。

2. 创建ssh密钥

在命令行终端输入下面的命令:
ssh-keygen -C "github.com"
-C,指定对这个key的注释。
上述命令省略了几个选项:-t,指定key的类型,默认是RSA;
            -b,指定key的bits,默认是2048bits;
            -f,指定密钥文件名,默认是id_rsa;

然后会提示让你输入一些命令,为了简单,可以什么都不输入,只需要在提示输入的时候敲回车键即可:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:oylwjwjeoxywRHZ8/NzCVLgDZihGlh83VQ3Lpfatg3s github.com
The key's randomart image is:
+---[RSA 2048]----+
|     . .     .ooo|
|    . . +   o. +.|
|     o + * o .=  |
|    . o * o o. ..|
|. . .o oSo +    o|
|...+oo.o..= o. . |
| o.oo.+    =..o  |
|o o +.      ..E. |
|.. . .      ..   |
+----[SHA256]-----+

这样便代表密钥生成成功。

 3. 将密钥添加到github账户

在命令行终端输入:
vi ~/.ssh/id_rsa.pub

将文件中的内容全部复制。点击github右上侧头像,在下拉选项中点击Settings:

  在刷新后的页面中,点击红框1会出现红框2描述的按钮,接着点击红框2:

  然后又会出现新的内容:

  这次在title中输入一些描述,在key中输入刚刚复制的密钥文件的内存,然后点击"Add SSH key",就在github添加密钥完毕。最后再测试下权限是否添加成功。

4. 测试密钥是否添加成功

输入以下命令测试密钥是否添加成功:
# ssh -T [email protected]
Hi citta! You've successfully authenticated, but GitHub does not provide shell access.

如果见到上述提示,则说明添加成功,可以从github克隆代码了。

   

标签:github,rsa,git,密钥,key,root,连接,ssh
From: https://www.cnblogs.com/chien/p/17328475.html

相关文章

  • 使用美杜莎(medusa)暴 LP 解 SSH 密码
    第一步:安装美杜莎(medusa)apt-yinstallmedusa(debian系列)yum-yinstallmedusa(redhat系列)第二步:检测目标主机22号端口是否开启第三步:使用密码字典库进行暴LP解#设置随机密码#创建一个包含该密码的字典库#暴LP解medusa-h127.0.0.1-uroot-Ppassword.txt......
  • git客户端安装
    git客户端下载地址:https://git-scm.com/downloads    end.  ......
  • git创建仓库
    之前都是按照人家提供好的参考文档一步步使用git,发现基本没有报错,即使有报错,也能在文档中找到解决办法。但是,最近自己新装了个centos系统,想创建一个新的git版本库,发现居然出现了之前从来没有碰到过的问题。所以呢,在这篇文章中记录一下初始环境下git创建版本库的过程。 1.初始化......
  • Centos7下git最新版本安装
    刚重新装了centos7最小版的系统,发现没有git,只好重新安装了,记录下以防忘记。(以下命令最好在root用户下执行,要么你有管理员权限也行,则需要在命令前加sudo) 安装方法有两种:一、yum命令安装:安装命令:yuminstall-ygit此方法简单,并且会自动安装依赖的包,缺点是并不一定是官......
  • Spring Boot - Spring Boot 数据库连接池 Hikari 介绍
    SpringBoot数据库连接池Hikari介绍介绍TheHikariCPdesignaestheticisMinimalism.Inkeepingwiththesimpleisbetterorlessismoredesignphilosophy,someconfigurationaxisareintentionallyleftout.HikariCP奉行极简主义的设计美学。为了保持“越......
  • Intellij Idea上传本地项目到Git
    IntellijIdea上传本地项目到Git原文链接:https://www.shuzhiduo.com/A/qVdeYr2bdP/方法一:选择菜单VCS—ImportintoVersionControl—ShareprojectonGithub,填写仓库名和github账户之后,点击”Share”按钮即可。如下图方法二:在本地的项目文件上右键,选择“GitBashHere”,......
  • ssh服务器配置文件优化
    ssh的服务器端配置文件路径为/etc/ssh/sshd_config可优化一下参数:Port9527#生产中建议改,防止攻击UseDNSno#禁止反向DNS解析GSSAPIAuthenticationno#提高速度,改为no#PubkeyAuthenticationyes#基于key验证PasswordAuthenticationyes#允许密码登录PermitEmptyPasswordsn......
  • docker部署gitlab CI/CD (一)第一篇:部署gitlab及汉化
    网上很多类似教程,但多少有点夹带私货,竟然拉取的第三方镜像,不敢乱用,于是结合其他人的博客和官方文档,结合部分其他作者的笔误踩的坑,知其然也要知其所以然,于2023年4月17日写下这篇。官方文档:https://docs.gitlab.com/ee/install/docker.html主要参考博客:https://www.......
  • ssh基于key验证的实战
    实现目标实现同网段4-254的所有主机打通基于key验证的ssh登录点击查看代码PASS=123#设置网段最后的地址,4-255之间,越小扫描越快END=254IP=`ipaseth0|awk-F'[/]+''NR==3{print$3}'`NET=${IP%.*}../etc/os-releaserm-f/root/.ssh/id_rsa[-e./SCANIP.log......
  • 【Azure Redis 缓存】Azure Redis 遇见的连接不上问题和数据丢失的情况解答
    问题描述PHP应用再连接AzureRedis服务时,出现ConnectionTimedout。当通过升级提高AzureRedis的性能时候,发现之前的数据丢失了。 问题解答当Redis服务出现Timeout的情况时,可以从Redis服务的指标(Metrics)开始查看,如果出现负载(ServiceLoad)很高的情况,表明当前Redis服务的资源已......