使用ssh连接gitHub

github每次pull/push代码时要求推送代码的用户是合法的,所以每次推送时候都要输入账号密码用以验证用户是否为合法用户,而ssh是一种安全的传输模式,可以代替用户的这一“输入账号密码”的行为来验证用户。

github的俩种操作方式

  1. https

    可以随意克隆github上的项目,而不管是谁的;在pull/push的时候是需要验证用户名和密码的

  2. ssh

    克隆者必须是拥者或管理员,且需要先添加 SSH key ,否则无法克隆。在pull/push的时候不再是验证用户名和密码,而是通过验证ssh的方式来验证用户。

ssh(安全外壳协议)

定义:

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。 --百度百科

功能:

传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的, 就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。
所谓“中间人”的攻击方式,

客户端——》冒充的服务器(中间人)——》真正的服务器

就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器
服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的"通道"。 --百度百科

使用步骤

  1. 查看是否已经存在ssh秘钥

    打开git bash,输入

    $ cd ~/.ssh
    $ ls

    如果,提示不存在此目录,则进行第二步操作,否则,你本机已经存在ssh公钥和私钥,可以略过第二步,直接进入第三步操作。

  2. 生成ssh秘钥
    $ ssh-keygen -t rsa -C "[email protected]"

    代码参数含义:

    • -t 指定密钥类型,默认是 rsa ,可以省略。
    • -C 设置注释文字,比如邮箱。
    • -f 指定密钥文件存储文件名。

    根据提示,需要指定文件位置和密码,如果是你足够放心,其实都可以直接回车,不需要什么密码。执行完以后,可在/c/Users/you/.ssh/路径下看到刚生成的文件:id_rsa和id_rsa.pub。即公钥和私钥。

  3. 在GitHub账户中添加公钥
    • 登录你的github,头像处下拉框选择settings。
    • 进入设置页后点击侧边栏的SSH and GPG keys按钮。
    • 点击New SSH key,title可以任意填,并且将上一步骤生成的id_rsa.pub的内容复制到这里的key输入框中。
  4. 确认
    $ ssh -T [email protected]

    在这里我收到一个提示:

    Warning: Permanently added the RSA host key for IP address ‘192.30.253.113‘ to the list of known hosts.

    直接回车,最后看到这个就说明大功告成:

    Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.

遇到的问题

添加完公钥后,使用小乌龟(TortoiseGit)pull代码时报错:

no supported authentication methods aviaible(server sent:publickey)

查了一下,发现是因为TortoiseGit和Git的冲突 我们需要把TortoiseGit设置改正如下。

  • 右键TortoiseGit -> Settings -> Network
  • 将SSH client指向~\Git\usr\bin\ssh.exe(Git安装路径下)

http://www.cnblogs.com/yzg1/p/5773362.html

时间: 2024-12-15 03:37:48

使用ssh连接gitHub的相关文章

Linux下通过ssh连接github

github每次pull/push代码时要求推送代码的用户是合法的,所以每次推送时候都要输入账号密码用以验证用户是否为合法用户,而ssh是一种安全的传输模式,可以代替用户的这一"输入账号密码"的行为来验证用户. github共支持2种操作方式 https 可以随意克隆github上的项目,而不管是谁的:在pull/push的时候是需要验证用户名和密码的 ssh 克隆者必须是拥者或管理员,且需要先添加 SSH key ,否则无法克隆.在pull/push的时候不再是验证用户名和密码,而是

Git如何通过SSH连接github和如何添加协作开发者

</pre><pre name="code" class="java">**********1.在执行git push origin master指令时报如下错误: [email protected] /d/ilucky/message/code (master) $ git push origin master Username for 'https://github.com': IluckySi Password for 'https:/

window下配置SSH连接GitHub、GitHub配置ssh key(转载自 http://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.html)

此经验分两部分: 第一部分介绍:在windows下通过msysGit(Git for windows.Git Bash)配置SSH Keys连接GitHub. 第二部分介绍:在GitHub上创建仓库,在本地创建项目,然后将本地项目通过SSH提交到GitHub仓库中. 工具/原料 GitHub msysGit(git for windows.Git Bash) msysGit配置SSH访问GitHub 1 检查本机是否有ssh key设置 $ cd ~/.ssh 或cd .ssh 如果没有则提示:

window下配置SSH连接GitHub、GitHub配置ssh key(转)

转自:http://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.html 此经验分两部分: 第一部分介绍:在windows下通过msysGit(Git for windows.Git Bash)配置SSH Keys连接GitHub. 第二部分介绍:在GitHub上创建仓库,在本地创建项目,然后将本地项目通过SSH提交到GitHub仓库中. 工具/原料 GitHub msysGit(git for windows.Git Bash) msy

ssh连接github连不上

连接github报端口22连接不上: 输入命令展示出ssh_config内容后: vim /etc/ssh/ssh_config 修改Port:443 输入命令:ssh -T -p 443 [email protected]查看是否链接成功 然后加上: Host github.com Hostname ssh.github.com Port 443 输入命令:ssh -T [email protected]查看是否链接成功 借鉴文章链接:http://www.inanzzz.com/index.

通过ssh连接github

1.检查是否已经存在ssh key $ cd ~/.shh$ ls 如果该目录下存在id_rsa/id_rsa.pub/known_hosts这三个文件,则已经存在ssh key 直接跳转到第3步 2.生成ssh key $ cd ~ $ ssh ssh-keygen -t rsa -C "[email protected]" 后面3个输入不填,直接回车即可 $ cd .ssh $ ls 可以看到目录下有id_rsa(私钥)/id_rsa.pub(公钥)/known_hosts这三个文

$ ssh -T -v [email&#160;protected]_在本地用ssh连接github出错[email&#160;protected]: Permission denied (publickey).

$ ssh -T -v [email protected]报错: debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Trying private key: /Users/eveline/.ssh/id_rsa debug1: Trying private key: /Users/eveline/.ssh/id_dsa debug1:

ssh连接github

refer to https://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.html Git教程 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 原文地址:https://www.cnblogs.com/kevin1988/p/10229257.html

使用SSH密钥连接Github

使用Github,也许大家觉得比较麻烦的就是在每次push的时候,都需要输入用户名和密码.如果使用SSH,就可以记住用户名,并创建属于自己的密码来保证安全操作,还有神奇的一招可以“不用输入密码”哦.下面将介绍如何创建SSH Keys并将公钥加到GitHub账户中,使用SSH Keys在本机和GitHub之间建立一个安全的连接. 一.Windows环境下生成SSH key且连接GitHub 第一步.看看是否存在SSH密钥(keys) 首先,我们需要看看是否看看本机是否存在SSH keys,打开Gi