ubuntu下git使用ssh连接github

首先我们先了解一下SSH和HTTPS连接
SSH链接
从客户端来看,SSH提供两种级别的安全验证。
第一种级别(基于口令的安全验证)
只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
第二种级别(基于密匙的安全验证)
需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。
第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。

HTTPS和HTTP连接
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。
为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

1、安装配置git服务器

  a、安装ssh,因为git是基于ssh协议的,所以必须先装ssh:
    sudo apt-get install openssh-server openssh-client
    安装好ssh后,启动ssh服务:sudo /etc/init.d/ssh restart    

  b、安装git服务器:
     sudo apt-get install git-core

2、配置ssh公钥

 a、首先在本地生成ssh公钥
   ssh-keygen -C 'your emaildress' -t rsa

   如:ssh-keygen -C '123456@qq.com' -t rsa
   会在用户目录~/.ssh/下建立相应的密钥文件

   可以使用ssh -v git@github.com命令来测试链接是否畅通
   ssh -v git@github.com

 b、上传公钥至github
    ubuntu系统里找到root目录下的id_rsa.pub文件把内容添加到github账户的profile里,选择SSH KEYS 选项,然后Add SSH Key中。(注:必须是root目录下的id_rsa.pub文件)
  上上传成功后,会收到确认邮件。 可以使用ssh -v git@github.com命令来测试链接是否畅通。
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
连接 Github 可以使用 SSH 或 HTTPS 协议。以下是连接 Github 的步骤: 1. 首先,确保您已经在 GitHub 上创建了一个账户。 2. 打开终端,并安装 git:`sudo apt-get install git` 3. 生成 SSH 密钥:`ssh-keygen -t rsa -b 4096 -C "your_email@example.com"`,其中 "your_email@example.com" 是您的邮箱地址。 4. 在 GitHub 上添加公钥。在页面右上角点击头像,选择 "Settings",然后点击 "SSH and GPG keys",再点击 "New SSH key"。将您的公钥粘贴到 "Key" 字段中,然后点击 "Add SSH key"。 5. 验证 SSH 连接是否正常:`ssh -T git@github.com`。如果您第一次连接,会提示 "Are you sure you want to continue connecting (yes/no)?",输入 "yes" 并回车。如果连接正常,会输出 "Hi username! You've successfully authenticated, but GitHub does not provide shell access."。 6. 如果您选择使用 HTTPS 协议,可以在 GitHub 上创建一个 token。在页面右上角点击头像,选择 "Settings",然后点击 "Developer settings",再点击 "Personal access tokens",然后点击 "Generate new token"。在 "Note" 字段中输入一个名称,然后选择需要访问的权限,最后点击 "Generate token"。将生成的 token 保存在安全的地方。 7. 在终端中配置用户名和邮箱:`git config --global user.name "Your Name"` 和 `git config --global user.email "your_email@example.com"`。 8. 您现在可以将您的代码克隆到本地:`git clone git@github.com:username/repo.git` 或 `git clone https://github.com/username/repo.git`(如果使用 HTTPS 协议,则需要在 url 中加上 token)。 9. 提交修改:在本地修改代码后,使用 `git add` 命令将修改添加到暂存区,然后使用 `git commit` 命令提交修改。最后使用 `git push` 命令将修改推送到 GitHub。 希望以上步骤可以帮助到您。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值