我用的是Mac雪豹,刚刚安装了git。

我只是试了

git clone git@thechaw.com:cakebook.git

但这给了我这个错误:

Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

我错过了什么? 我也试过做ssh-keygen没有密码,但仍然错误。


当前回答

您可以在终端中执行以下操作:

cd ~ / . ssh ssh-keygen -o -t rsa -C "your@email.com" 当提示输入密钥保存位置时,输入:cat id_rsa。Pub | pbcopy 输入并确认您的密码,然后生成新的密钥。 通过运行cat ~/.ssh/id_rsa.pub通知github密钥 复制输出,然后转到github创建一个新的SSH密钥。粘贴复制的内容到文本区域,给它一个合适的标题,然后按ADD键。

现在你可以轻松地进行操作了。

其他回答

在我的ubuntu系统中,我按照下面的步骤解决了这个问题。因为我正在尝试用无密码ssh到系统。

sudo vi /etc/ssh/sshd_config

1)评论如下: #更改为no禁用隧道明文密码 # PasswordAuthentication是的 PasswordAuthentication no ---->注释此。

2)然后重新启动sshd守护进程,如下所示。

重启SSHD服务

对我来说,实际的问题是使用文本编辑器复制SSH公钥到剪贴板

如果按照docs.github.com,在notepad++等文本编辑器中打开。pub文件复制SSH公钥,那么就有麻烦了。

而不是使用

猫~ / . ssh / id_ * * *。Pub |剪辑

复制命令

解决方案使用gh即Github的官方CLI

gh安装

Brew install gh

通过cli登录或认证

Gh auth登录

回购克隆

Gh repo clone <username or orgname>/<repo-name> . sh

例如:gh repo clone keshavdulal/sample-repo

咆哮:当git克隆突然决定不再工作时,我也在敲打我的头,我没有耐心或脑力从头开始重新学习ssh/公钥/密密学,只是为了克隆一个我已经可以访问的该死的回购。同样令人惊讶的是,答案中还没有人提到gh

Mac操作步骤:

切换用户(sudo su - jenkins) 生成密钥(ssh-keygen -t rsa -b 4096 -C "username")。用户名 是你和詹金斯一起用的。 复制生成的公钥(cat ~/.ssh/id_rsa.pub)。 将密钥粘贴到git帐户。(设置-> SSH和CPG密钥->新建 ssh keys ->输入密钥名称(可以是任意),并将密钥粘贴到 描述)。

如果用户未生成之前设置的ssh公私钥对

此信息在聊天上工作,但可以应用于所有其他支持SSH pubkey身份验证的git存储库。(参见[gitolite][1], gitlab或github。)

首先设置您自己的公钥/私钥对集。这 可以使用DSA或RSA,所以基本上你设置的任何密钥都可以工作。 在大多数系统上,您可以使用ssh-keygen。

First you'll want to cd into your .ssh directory. Open up the terminal and run: cd ~/.ssh && ssh-keygen Next you need to copy this to your clipboard. On OS X run: cat id_rsa.pub | pbcopy On Linux run: cat id_rsa.pub | xclip On Windows (via Cygwin/Git Bash) run: cat id_rsa.pub | clip On Windows (Powershell) run: Get-Content id_rsa.pub | Set-Clipboard (Thx to @orion elenzil) Add your key to your account via the website. Finally setup your .gitconfig. git config --global user.name "bob" git config --global user.email bob@... (don't forget to restart your command line to make sure the config is reloaded) That's it you should be good to clone and checkout.

更多信息请访问https://help.github.com/articles/generating-ssh-keys(感谢@Lee Whitney) [1]: https://github.com/sitaramc/gitolite

-

如果用户已经生成了之前设置的ssh公私钥对

检查哪个密钥已被授权在您的github或gitlab帐户设置 确定必须从本地计算机关联哪个相应的私钥

Eval $(ssh agent -s)

定义键的位置

ssh-add ~ / . ssh / id_rsa