`
hetaoo
  • 浏览: 108056 次
社区版块
存档分类
最新评论

git-ssh 配置和使用

    博客分类:
  • git
阅读更多

很多朋友在用github管理项目的时候,都是直接使用https url克隆到本地,当然也有有些人使用 SSH url 克隆到本地。然而,为什么绝大多数人会使用https url克隆呢?

这是因为,使用https url克隆对初学者来说会比较方便,复制https url 然后到 git Bash 里面直接用clone命令克隆到本地就好了。而使用 SSH url 克隆却需要在克隆之前先配置和添加好 SSH key 。

因此,如果你想要使用 SSH url 克隆的话,你必须是这个项目的拥有者。否则你是无法添加 SSH key 的。

 

https 和 SSH 的区别:

1、前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。

2、https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。

 

 

 

在 github 上添加 SSH key 的步骤:

1、首先需要检查你电脑是否已经有 SSH key 

运行 git Bash 客户端,输入如下代码:

$ cd ~/.ssh
$ ls

这两个命令就是检查是否已经存在 id_rsa.pub 或 id_dsa.pub 文件,如果文件已经存在,那么你可以跳过步骤2,直接进入步骤3。

 

2、创建一个 SSH key 

$ ssh-keygen -t rsa -C "your_email@example.com"

代码参数含义:

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

以上代码省略了 -f 参数,因此,运行上面那条命令后会让你输入一个文件名,用于保存刚才生成的 SSH key 代码,如:

Generating public/private rsa key pair.
# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

当然,你也可以不输入文件名,使用默认文件名(推荐),那么就会生成 id_rsa 和 id_rsa.pub 两个秘钥文件。

 

接着又会提示你输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码),

当然,你也可以不输入密码,直接按回车。那么push的时候就不需要输入密码,直接提交到github上了,如:

Enter passphrase (empty for no passphrase): 
# Enter same passphrase again:

接下来,就会显示如下代码提示,如:

Your identification has been saved in /c/Users/you/.ssh/id_rsa.
# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

当你看到上面这段代码的收,那就说明,你的 SSH key 已经创建成功,你只需要添加到github的SSH key上就可以了。

 

3、添加你的 SSH key 到 github上面去

a、首先你需要拷贝 id_rsa.pub 文件的内容,你可以用编辑器打开文件复制,也可以用git命令复制该文件的内容,如:

$ clip < ~/.ssh/id_rsa.pub

b、登录你的github账号,从又上角的设置( Account Settings )进入,然后点击菜单栏的 SSH key 进入页面添加 SSH key。

c、点击 Add SSH key 按钮添加一个 SSH key 。把你复制的 SSH key 代码粘贴到 key 所对应的输入框中,记得 SSH key 代码的前后不要留有空格或者回车。当然,上面的 Title 所对应的输入框你也可以输入一个该 SSH key 显示在 github 上的一个别名。默认的会使用你的邮件名称。

 

4、测试一下该SSH key

在git Bash 中输入以下代码

$ ssh -T git@github.com

当你输入以上代码时,会有一段警告代码,如:

The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?

这是正常的,你输入 yes 回车既可。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如:

Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':

当然如果你密码输错了,会再要求你输入,知道对了为止。

注意:输入密码时如果输错一个字就会不正确,使用删除键是无法更正的。

密码正确后你会看到下面这段话,如:

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

如果用户名是正确的,你已经成功设置SSH密钥。如果你看到 “access denied” ,者表示拒绝访问,那么你就需要使用 https 去访问,而不是 SSH 。

 

如果你有什么疑问或指正,请留言。

分享到:
评论

相关推荐

    Git官方最新版下载 Git-2.18.0-64-bit 64位Windows版本

    - 安装向导:运行安装程序,按照提示选择安装路径、配置默认编辑器、设置终端类型(如使用Windows命令提示符或Git Bash)等。 - 配置环境变量:确保Git可执行文件路径被添加到系统环境变量PATH中,以便在任何目录...

    Git-2.38-64位安装及说明

    4. **配置路径**:在“Adjusting your PATH environment”选项中,建议选择“Use the native Windows command prompt”,这样可以在任何地方使用Git命令。 5. **选择编辑器**:在“Configuring the default editor ...

    Git-2.16.2-64-bit.exe下载

    - 数据完整性:Git使用SHA-1哈希算法确保数据的完整性和一致性,每个对象都有唯一的标识,防止数据损坏或篡改。 - 高效性能:Git的本地操作速度极快,因为它在本地存储了一个完整的版本历史。 - 远程协作:通过与...

    Git-2.39.0-64-32(版本构建于2022-12-12)

    - **安装过程**:安装过程中,用户可以选择自定义安装路径、设置默认编辑器、配置SSH密钥等选项。安装完成后,Git将集成到命令行环境中,同时提供图形化工具Git Bash和Git GUI供用户选择使用。 4. **Git-SCM...

    Git-2.30.0-64-bit.exe

    安装"Git-2.30.0-64-bit.exe"时,用户可以选择配置项,如设置Git Bash的默认终端、选择SSH客户端(OpenSSH或Git内置的)以及是否使Git命令对系统PATH环境变量可见。安装完成后,用户可以通过命令行界面或图形化工具...

    Git-2.21.0-64-bit.zip

    4. 自定义配置:用户可以通过.gitconfig文件自定义Git的行为,例如编辑默认的文本编辑器、设置用户名和电子邮件等。 5. 集成Git Flow:Git Flow是一个用于实现Git分支模型的工具集,可以帮助团队遵循特定的工作流...

    Git-2.20.1-64-bit.rar Git-2.20.1-64-bit.exe

    安装过程中,用户可以选择配置项,如设置默认文本编辑器,选择是否使用SSH协议,以及安装Git Bash(一个模拟类Unix命令行环境)等。 在安装Git后,开发者可以开始使用基本的Git命令,例如`git init`初始化一个新的...

    Git-2.24.0.2-64-bit.zip

    为了更好地利用Git,开发者还可以配置个人化设置,如设置用户名和邮箱(`git config user.name`和`git config user.email`),以及使用SSH密钥实现无密码推送。此外,学习和使用Git的图形用户界面(如SourceTree或...

    Git-2.29.2.2-64-bit.exe安装包

    5. **配置SSH**:为了安全地进行远程仓库的交互,Git支持使用SSH协议。在安装过程中,你可以选择生成SSH密钥对,这样每次与远程仓库通信时就不需要输入用户名和密码。 6. **设置路径**:选择Git的安装路径,建议...

    Git-2.17.0-64-bit.exe

    安装过程中,用户可以选择配置路径变量,使得Git命令行工具可以在任何目录下直接使用。此外,还可能包含Git Bash,这是一个模拟Linux环境的命令行工具,让开发者能够在Windows上享受与Unix/Linux相似的命令行体验。 ...

    git-2.16.2

    10. **远程仓库**:Git可以通过HTTP、SSH等多种协议与远程仓库交互,如GitHub、GitLab和Bitbucket等平台,方便开发者分享代码和协作。 总之,Git-2.16.2作为Git的一个稳定版本,继续提供高效、可靠的版本控制服务,...

    Git-2.18.0-64-bit安装包.zip

    此外,用户还可以选择是否使用SSH协议进行身份验证,以及是否将Git集成到系统的右键菜单中,以方便日常操作。 安装完成后,通过命令行或Git GUI可以开始使用Git。基础操作包括初始化仓库(`git init`)、添加文件到...

    Git-2.33.1-64-bit.rar

    安装程序Git-2.33.1-64-bit.exe将引导用户完成配置过程,包括设置默认文本编辑器、选择SSH客户端(如OpenSSH或Git内置的Secure Shell)以及选择是否在系统路径中添加Git命令。安装过程中,用户还可以选择使用Git ...

    Git-2.26.0-64-bit.exe.7z

    在Windows上安装"Git-2.26.0-64-bit.exe",用户通常会被引导完成一系列配置步骤,例如设置用户名称和电子邮件(用于签署提交)、选择默认的文本编辑器以及选择是否使用SSH密钥进行身份验证。安装完成后,用户可以在...

    Git-2.28.0-64-bit.exe.zip

    安装过程中可以选择配置Git的设置,如编辑器、终端模拟器和SSH客户端等。此外,还可以选择在系统路径中添加Git,以便在命令行中直接使用。 为了更好地利用Git,用户需要熟悉一些基本命令,如`git init`用于初始化一...

    git-2.23最新版本下载安装包

    4. 配置终端模拟器,可以选择使用系统默认的命令提示符或Git Bash。 5. 设置SSH密钥,用于安全的身份验证。 6. 确定是否将Git添加到系统路径,以便在任何地方都能使用Git命令。 7. 完成安装后,通过输入`git --...

    Git-2.19.1-64-bit安装包

    此外,Git的图形化工具,如SourceTree、GitKraken和GitHub Desktop,为不熟悉命令行的用户提供了一种更直观的方式来使用Git。它们提供了一个友好的界面,方便用户进行提交、分支管理和合并等操作。 总的来说,Git-...

    Git-2.39.2-32-bit windows64 安装包

    安装Git-2.39.2-32-bit.exe时,用户可以根据个人需求选择配置选项,如设置默认文本编辑器、选择SSH协议还是HTTPS协议、配置全局用户信息等。安装完成后,用户可以通过命令行或者图形化界面开始使用Git进行代码管理。...

    Git-2.39.1-64-bit.zip

    在本文中,我们将深入探讨Git的核心概念、主要功能以及如何在Windows上安装和使用Git 2.39.1。 **Git的核心概念:** 1. **仓库(Repository)**:Git仓库是存储项目所有版本和元数据的地方,包含了所有提交历史和...

    Git-2.30.2.2-64.rar

    3. 在安装过程中,可以选择配置Git的设置,如路径变量、文本编辑器以及是否使用SSH协议。 4. 安装完成后,可以在命令行中通过`git --version`命令检查Git的版本,确认安装成功。 总之,Git是现代软件开发不可或缺的...

Global site tag (gtag.js) - Google Analytics