GitHub仓库的SSH权限配置

步骤1:Generating a new SSH key

$ ssh-keygen -t rsa -b 4096 -C "[email protected]"

> Enter file in which to save the key (/Users/lr/.ssh/id_rsa): /Users/your/.ssh/github.com/your/id_rsa

> Enter passphrase (empty for no passphrase): [Press enter]

> Enter same passphrase again: [Press enter]

Your identification has been saved in /Users/your/.ssh/github.com/your/id_rsa.

Your public key has been saved in /Users/your/.ssh/github.com/your/id_rsa.pub.

步骤2:Adding your SSH key to the ssh-agent

$ ssh -T [email protected]

Permission denied (publickey).

$ ssh -vT [email protected]

OpenSSH_7.7p1, LibreSSL 2.7.3

$ ssh-add -K /Users/your/.ssh/github.com/your/id_rsa

Identity added: id_rsa (id_rsa)

$ ssh -T [email protected]

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

步骤3:Adding your SSH key to GitHub.com

登录:github.com

打开:settings > SSH and GPG keys

将公钥id_rsa.pub ( /Users/your/.ssh/github.com/your/id_rsa.pub ) 拷贝至New SSH Key中。

步骤4:Using SourceTree to access repositories of GitHub.com

在github.com新建远程仓库,用SourceTree克隆代码,然后修改代码,最后推送到远程仓库。

如果成功,则证明一切符合预期;

如果不成功,则根据具体情况进行调整。

常见问题:

SSH权限问题:Permissions 0644 for '/Users/your/.ssh/id_rsa' are too open.

chmod 0600 /Users/your/.ssh/id_rsa

GIT模式问题:使用了gitlab远程仓库的http地址,导致无权限推送新代码至远程仓库。

在SourceTree将克隆的本地仓库转换成SSH,再执行远程发布。

温馨提示:

同一个github账号,可以使用不同的ssh密钥以对应不同的仓库需要。

所以,当你将远程仓库克隆为本地仓库后,应及时对本地仓库进行自定义配置:

> 用户信息(用户名和邮件)

> .gitignore文件(忽略的文件和文件夹)

在本地仓库目录下执行命令:git config --list,可以查看当前仓库的配置信息

你可能感兴趣的:(GitHub仓库的SSH权限配置)