1. 在本地创建 ssh key 文件,与 github 上自己的账号关联
如果没有在本地创建 ssh key 与 github 关联,自己在提交仓库的时候就会出现
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
出现这个错误的原因是:你在本地或者服务器上面没有生成ssh key导致的。
1.1 检查 .ssh 目录
进入 C:\Users\administrator.ssh 目录,如果没有 id_rsa 和 id_rsa.pub 文件,就是没有ssh key ,需要创建。
1.2 创建 ssh key
在ternimal下输入命令:
ssh-keygen -t rsa -C "youremail@example.com"
youremail@example.com改为自己的邮箱即可,途中会让你输入密码啥的,不需要管,一路回车即可,会生成你的ssh key。(如果重新生成的话会覆盖之前的ssh key。)
1.3 ssh -v git@github.com
在ternimal下执行命令:ssh -v git@github.com最后两句会出现:
No more authentication methods to try.
Permission denied (publickey).
1.4 ssh-agent -s
在ternimal下执行命令:ssh-agent -s
会提示类似的信息:
SSH_AUTH_SOCK=/tmp/ssh-GTpABX1a05qH/agent.404; export SSH_AUTH_SOCK;
SSH_AGENT_PID=13144; export SSH_AGENT_PID;
echo Agent pid 13144;
1.5 ssh-add ~/.ssh/id_rsa
在ternimal下执行命令:ssh-add ~/.ssh/id_rsa
这时候应该会提示: Identity added: ...(这里是一些ssh key文件路径的信息)
(注意)如果出现错误提示:Could not open a connection to your authentication agent.
请执行命令:eval ssh-agent -s后继续执行命令 ssh-add ~/.ssh/id_rsa ,这时候一般没问题啦。
1.6 打开 id_rsa.pub
打开你刚刚生成的 id_rsa.pub ,将里面的内容复制,进入你的github账号,在settings下,SSH and GPG keys下new SSH key,title 随便取一个名字,然后将 id_rsa.pub 里的内容复制到Key中,完成后Add SSH Key。
1.7 验证 Key
在ternimal下输入命令:ssh -T git@github.com
提示:Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
关联 ssh key 的操作就成功完成了。
2. 把本地项目提交到 github 仓库
2.1 在 github 上新建仓库
2.2 设置本地项目的远程仓库
2.3 提交到远程仓库
第一次提交到远程仓库,如果是 main 分支可能需要 force push 。