`

Github权限认证(创建一个项目版本库后遇到的权限问题)

阅读更多
最新简约版
git config --global user.name "你在github上的用户名"  
git config --global user.email 注册的邮件地址

mkdir ~/.ssh
cd ~/.ssh 
ssh-keygen -t rsa -C "注册的邮件地址"
cat id_rsa.pub 


然后把内容贴到github网站ssh keys中

详细

首先在github上注册一个账号,创建一个“自定义名称”的版本库
创建完成之后,github会提供一个简易的操作指南

Global setup:
 Set up git
  git config --global user.name "user_name"
  git config --global user.email ×××@×××.com
  Add your public key
        
Next steps:
  mkdir project_name
  cd project_name
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:user_name/project_name.git
  git push -u origin master
      
Existing Git Repo?
  cd existing_git_repo
  git remote add origin git@github.com:user_name/project_name.git
  git push -u origin master
      
Importing a Subversion Repo?
  Click here
      
When you're done:
  Continue


按照这个步骤来,我乎略来第一步的
Add your public key,以为他仅仅是一个帮助链接

但是在我提交代码的时候,出现了错误提示
“Permission denied (publickey).
fatal: The remote end hung up unexpectedly
”

这个错误的意思无非就是权限验证失误
造成没有权限的主要原因就是我漏掉的一步

于是我去补充,点击那个帮助链接就可以看到内容
http://help.github.com/linux-set-up-git/

按照步骤首先是

第一步 检查 SSH keys
$ cd ~/.ssh


检查是否有".ssh"这个目录,如果没有则直接跳转到第三步,其他情况进入第二步

第二步 备份 并 删除已经存在的ssh key

如果你的目录文件中已经存在了ssh文件,那么你最好是备份并删除这些旧文件
操作步骤如下:
$ ls
# 显示来当前目录下的所有子目录
# config	id_rsa	id_rsa.pub	known_hosts
$ mkdir key_backup
# 在当前目录下创建一个叫做"key_backup"的子目录
$ cp id_rsa* key_backup
# 备份以前的key文件到上面新建的文件夹中
$ rm id_rsa*
# 删除旧的key文件

第三部 生成一个新的ssh key

按照下面的代码操作,即可生成一个新的ssh key。当你被要求输入保存key的文件目录时,可以直接按enter键使用默认设置
$ ssh-keygen -t rsa -C "your_email@youremail.com"
# 使用一个私人的email地址,来生成一个ssh key
# 生成 公开/私有 的一对key(Generating public/private rsa key pair.)

# 输入要保存key文件的目录(enter键 使用括弧里面的默认设置)
(/Users/your_user_directory/.ssh/id_rsa):<press enter>

# 然后输入一个密码(passphrases)这个密码可以不用输入,直接回车就可以了,要不然每次提交代码都要输入密码

Enter passphrase (empty for no passphrase):<enter a passphrase>
Enter same passphrase again:<enter passphrase again>


然后它会给你返回这些东西:

Your identification has been saved in /Users/your_user_directory/.ssh/id_rsa.
Your public key has been saved in /Users/your_user_directory/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db user_name@username.com
The key's randomart image is:
+--[ RSA 2032]----+
|     .+   +      |
|      ssssssss   |
|        = * *    |
|       o = +     |
|     ssss .      |
|     o oss       |
|      o .sE      |
|                 |
|                 |
+-----------------+


最后 就是把你的SSH添加到你的GitHub账号中
访问网站并按照下列顺序访问 “Account Settings” > Click “SSH Public Keys” > Click “Add another public key”

打开上面生成的id_rsa.pub文件  (Notepad, TextEdit, or gedit will do just fine). 这个是你的公开的 SSH key. 你可能需要打开“查看隐藏目录文件”选项,才能找到他,因为这个 .ssh 是隐藏文件目录. 接下来就是非常重要的是,复制文件中的key内容(不要添加任意空格或者空行),复制到网站中弹出的文本框中,点击确定就大功告成了。


接下来测试一下
$ ssh -T git@github.comAttempts to ssh to github
Which should give you this:

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)?
Don’t worry, this is supposed to happen. Type “yes”.

Hi username! You've successfully authenticated, but GitHub does not provide shell access.
Having problems?
分享到:
评论

相关推荐

    Mac上将本地项目上传到GitHub仓库

    在Mac上将本地项目上传到GitHub仓库的过程涉及多个步骤,包括安装Git,配置GitHub账户,创建新仓库,以及使用命令行工具进行版本控制操作。以下是一个详细的指导: 1. **安装Git**: Git是分布式版本控制系统,是与...

    github创建工程

    - **拉取请求(Pull Request)**:当多个开发者在一个项目中合作时,他们可以在完成自己的功能开发后通过创建拉取请求的方式提交变更,由项目维护者或其他有权限的人员审查代码并合并到主分支。 - **问题追踪(Issue ...

    github项目图解

    在本教程中,我们将讨论如何将一个项目分享到GitHub上,这是一个免费的代码托管平台,支持Git。以下是详细的步骤: 1. **开启项目分享流程**:首先,在你的集成开发环境(IDE)中,比如MyEclipse,右键点击你要分享...

    从Github检出Mina(maven)项目出现问题解决过程

    当从Github检出一个使用Maven的项目时,开发者可能会遇到以下问题: 1. **依赖问题**:由于Maven项目依赖于许多外部库,检出后可能会发现缺少某些依赖。这通常是因为本地Maven仓库中没有这些依赖或者远程仓库(如...

    github是一个基于 Git 版本控制系统的代码托管平台.docx

    2. **创建新仓库**:登录后,可以通过主页上的“New”按钮来创建一个新的代码仓库。命名时,可以根据项目性质和个人喜好选择是否将其设为公开。 3. **Clone 仓库**:使用命令行工具(如Git Bash),执行`git clone ...

    GitHub网页上传测试步骤.docx

    在IT行业中,GitHub是一个至关重要的平台,主要用于代码托管和版本控制。它为开发者提供了一个集中的场所来存储、协作和管理他们的项目。本教程将详细解释如何在GitHub网页上进行文件上传测试,针对描述中提到的步骤...

    linux-将你所有的GitHub公共仓库克隆到你的机器上

    并创建一个新的Token,确保至少勾选了`repo`权限。 一旦有了Token,你可以使用curl或wget从GitHub API获取你的公共仓库列表: ```bash curl -H "Authorization: token YOUR_TOKEN" ...

    GitHubDesktop.zip

    GitHub是一个全球知名的代码托管平台,它提供了版本控制系统Git的所有功能,同时还添加了丰富的社交编程特性,如问题跟踪、项目管理、代码审查等。Git是一种分布式版本控制系统,能够追踪对文件和目录的修改,便于...

    GitHub for Windows离线安装包

    - **问题追踪**:可以直接在客户端上查看、创建和管理GitHub上的问题,促进项目交流。 - **持续集成**:与GitHub Actions集成,可自动化测试和部署流程。 2. **离线安装包的获取与使用** - **下载**:离线安装包...

    macOS版 GitHub Desktop.zip

    **GitHub Desktop for macOS** GitHub Desktop 是一款专为 macOS 用户设计的图形化版本控制工具,它提供了简洁、直观的界面,...对于那些希望通过图形界面而非命令行来管理GitHub项目的用户,这是一个值得尝试的工具。

    GitHub for Windows

    - **Git**: Git 是一个分布式版本控制系统,由Linux之父Linus Torvalds创建。Git的强大之处在于其分支管理和合并能力,以及分布式的工作流,使得多人协作开发变得高效。 - **GitHub仓库**: 在GitHub上,每个项目都...

    将vs2017的项目推送到github上的步骤1

    4. **忽略文件**:根据你的项目类型,你可能需要创建一个 `.gitignore` 文件来忽略特定的文件或文件夹,比如编译生成的中间文件和日志等。 确保遵循以上步骤和注意事项,你应该能够成功地将VS2017项目推送到GitHub...

    github桌面程序

    在使用GitHub Desktop时,你需要首先创建或克隆一个GitHub仓库。创建仓库时,你可以选择将其设为私有或公共,以便根据你的项目需求控制访问权限。克隆仓库则允许你在本地计算机上获取远程仓库的完整副本,这样你就...

    dotnet-一个NET的GitHubAPI客户端库

    在压缩包子文件的文件名"octokit-octokit.net-050b85b"中,我们可以推测这是Octokit.NET库的一个版本,版本号可能是050b85b,这通常对应着Git仓库中的一个特定提交哈希值,表示该库在某个时间点的源代码状态。...

    github教程&常见问题解决方法&项目,GitHub使用思维导图.zip

    GitHub则是一个基于云的平台,提供了Git仓库托管服务,同时提供了丰富的社交编码功能,如问题追踪、项目管理、代码审查等。 1. **安装Git**: 在Windows、MacOS或Linux系统上,可以通过官方下载页面获取Git并进行...

    Python-gitim用一个简单命令clone你的所有github仓库

    10. **开源社区**:`gitim`作为一个开源项目,可能存在GitHub页面,用户可以在这里报告问题、请求新功能或参与贡献代码。 总之,`gitim`是一个为GitHub用户提供的便捷工具,通过集成Python和Git,实现了快速克隆...

    GitHub Desktop

    这款应用提供了一个直观的图形用户界面,使得版本控制和协作变得更加容易,尤其适合那些对命令行操作不熟悉或者希望提高工作效率的开发者。 在GitHub Desktop中,你可以执行以下关键操作: 1. **克隆仓库**:通过...

    GitHub for Mac 客户端

    GitHub是一个基于云的Git仓库托管平台,提供了丰富的协作工具,如Issue、Pull Request、Wiki和项目板等。以下是一些关键概念: 1. **Repository(仓库)**:存储项目代码和版本信息的地方。 2. **Fork**:复制一个...

    GitHub Desktop for Windows 64位 V2.3.1

    GitHub Desktop 是一款专为Windows操作系统设计的开源代码管理工具,主要面向个人开发者和团队,提供了一个直观、简洁的图形用户界面来与GitHub仓库进行交互。V2.3.1是该软件的一个版本号,通常代表着软件在功能、...

    开源项目-github-git-lfs.zip

    Git LFS(Large File Storage)是GitHub推出的一个开源项目,主要解决在Git仓库中高效管理大文件的问题。Git LFS采用客户端-服务器模式,通过Go语言编写,为开发者提供了一种存储和版本控制大型二进制文件的方法,...

Global site tag (gtag.js) - Google Analytics