我是使用GitHub的新手。我正在尝试从用户仓库克隆我的第一个文件。 我一直收到这个错误:
Permission denied (publickey).
fatal: Could not read from remote repository
当我检查验证公钥是否附加到我的GitHub帐户时,使用此命令:
ssh-add -1
我收到此错误:
The agent has no identities.
我也试过这个:
ssh-add ~/.ssh/id_rsa
它告诉我:
Identity added
我还确保将笔记本电脑的SSH密钥添加到我的GitHub帐户中。我错过了哪些步骤?
我已经扫描了互联网 - 我迷路了。
答案 0 :(得分:2)
您可以通过两种方式克隆github存储库。您可以在克隆存储库时选择类型。
HTTPS
git clone https://github.com/flyway/flyway.git
如果是私人存储库,您可能需要提供用户名/密码。
SSH
git clone git@github.com:flyway/flyway.git
您需要在PC中设置ssh密钥并在github帐户中更新。
了解更多关于
的信息答案 1 :(得分:1)
尝试通过https链接git clone https://github.com/github_user_name/repository_name
您可以手动将SSH密钥添加到您的github帐户中。
cat ~/.ssh/id_rsa.pub
cat ~/.ssh/id_rsa.pub
的输出。您可以提供一些名称来记住计算机名称。答案 2 :(得分:0)
或者,您可以使用https协议进行克隆,即您不需要密钥对的https://github.com/Organization/repo.git。
答案 3 :(得分:0)
如果使用oh-my-zsh,则可以使用ssh-agent插件为您管理SSH连接。
https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/ssh-agent
~/.zshrc
ssh-agent
添加到您的插件列表-插件应以空格分隔,不逗号| 例如 plugins=(git ssh-agent)
source $ZSH/oh-my-zsh.sh
| Reference $ source ~/.zshrc
重新加载您的zshrc配置文件$ ssh-add -l
假设您在~/.zshrc
文件中标识的密钥是added到github,则可以通过SSH连接到github。
ssh-add ~/.ssh/PATH_TO_YOUR_SSH_PRIVATE_KEY
(例如〜/ .ssh / id_rsa)~/.ssh/config
-$ open ~/.ssh/config
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)
AddKeysToAgent
和UserKeychain
参数将确保密钥存储在钥匙串中并可供ssh-agent使用
重新启动终端
确认所标识的密钥可用于ssh-agent $ ssh-add -l
假设您在~/.ssh/config
文件中标识的密钥是added到github,则可以通过SSH连接到github。