1

我在 git 中不断收到此错误。我已经阅读并尝试了很多东西,但似乎都不起作用(更改了 700 或 600 权限,我只选择了带有 -i 选项的 rsa 密钥,我做了 ssh-add ~/.ssh/id_rsa,...)

任何人都可以帮忙吗?

谢谢

ssh -vT git@github.com
OpenSSH_5.1p1, OpenSSL 0.9.8h 28 May 2008
debug1: Reading configuration data /home/myusername/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to github.com [207.97.227.239] port 22.
debug1: Connection established.
debug1: identity file /home/myusername/.ssh/identity type -1
debug1: identity file /home/myusername/.ssh/id_rsa type 1
debug1: identity file /home/myusername/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-    6+squeeze1+github8
debug1: match: OpenSSH_5.5p1 Debian-6+squeeze1+github8 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /home/myusername/.ssh/known_hosts:8
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/myusername/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/myusername/.ssh/identity
debug1: Trying private key: /home/myusername/.ssh/id_dsa
debug1: No more authentication methods to try.

如果我做:

ssh-add -l

我明白了

2048 60:2f:84:01:91:db:f7:83:fa:e0:a2:9a:55:49:85:ad /home/myusername/.ssh/id_rsa (RSA)

我在 .bashrc 中添加了

!/bin/bash
eval `ssh-agent -s`
ssh-add

现在我有一个这样的 .ssh/config 文件:

#  personal account
#
Host personal.repositoryhosting.com
Hostname personal.repositoryhosting.com
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa

#
4

2 回答 2

2

通常 id_dsa(或 id_rsa)是你的私钥,对应的文件末尾带有 '.pub' 的文件是你的公钥。

你的 ~/.ssh/personal_key 是什么?它与你的公钥/私钥有什么关系?- 你的 ssh 代理知道吗?

于 2013-01-31T12:38:55.640 回答
0

删除了我的旧 .ssh 文件夹 - 备份它。根据您拥有的 ssh 密钥的数量及其用途,可能并不理想。

craicerjack@ubuntu:~$ sudo rm -rf .ssh

cd 回到你的项目目录

git init

touch README

git push -u origin master

The authenticity of host 'your_host' can't be established.
ECDSA key fingerprint is b2:9f:1a:8c:13:9b:1f:a2:64:a9:5c:db:61:a5:04:bb.
Are you sure you want to continue connecting (yes/no)? 
Warning: Permanently added 'your_host' (ECDSA) to the list of known hosts.
Branch master set up to track remote branch master from origin.
Everything up-to-date

这将创建一个带有 known_hosts 文件的新 .ssh 目录。
cd 进入 .ssh

craicerjack@ubuntu:~$ cd ~/.ssh

接下来创建一个新密钥

ssh-keygen -t rsa -C "your_email@example.com"

通过gitlab上的https://gitlab.deri.ie/help/ssh
或 github上的https://help.github.com/articles/generating-ssh-keys 。

Generating public/private rsa key pair.
Enter file in which to save the key (/home/carlos/.ssh/id_rsa): (you can leave this blank if you are in your .ssh dir, otherwise choose where to save the key)
Enter passphrase (empty for no passphrase): (leave this blank if you wish)
Enter same passphrase again: (leave this blankif you wish)
Your identification has been saved in /home/carlos/.ssh/id_rsa.
Your public key has been saved in /home/carlos/.ssh/id_rsa.pub.

使用它将密钥转储到您的控制台,然后将其复制:

cat ~/.ssh/id_rsa.pub

转到您在 gitlab 或 github 中的帐户。
gitlab - https://gitlab.deri.ie/profile/keys
github - https://github.com/settings/ssh

然后单击添加 ssh 密钥

粘贴你的新密钥,你应该很高兴。无论如何,这对我有用。

于 2014-04-07T11:44:32.753 回答