wake-up-neo.com

Bitbucket kann nicht verschoben werden

Ich versuche, mein Projekt auf mein Bitbucket zu schieben. Ich habe ungefähr 4 Tage damit herumgespielt und unzählige Problemlösungen/Seiten/Problemlösungen/Tutorials durchlaufen. Ich bin ratlos und sehr frustriert. Ich habe das aber schon auf verschiedenen Computern gemacht ... sowieso hier ist der Code/die Antwort, die ich bekomme

~/dev/sample_app git Push -u Origin --all
The authenticity of Host 'bitbucket.org (131.103.20.168)' can't be established.
RSA key fingerprint is 81:7b:2c:f5:6f:18:2b:7c:4b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)? 
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
~/dev/sample_app 

Ich bin auf einem Mac mit 10.8.4.

Es wurde also ein kleiner Fortschritt gemacht, anfangs gab es keinen .ssh-Ordner, also habe ich das am Anfang so erstellt, es gab keine known_hosts-Datei, also lief ich

ssh -T [email protected]

Ich entschied mich für yes und dies erzeugte eine known_hosts-Datei und als ich erneut Push versuchte, bekam ich:

~/dev/sample_app git Push -u Origin --all
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Mein .ssh-Ordner ist 700 und die Schlüssel darin sind alle 600.

41
josephleon

Sie können die IdentityFile-Flag-Datei in der Datei ~/.ssh/config wie folgt festlegen:

Host bitbucket.org
  IdentityFile ~/.ssh/id_rsa

Wenn du rennst 

ssh [email protected]

mit dem SSH-Client können Sie eine Datei auswählen, aus der die Identität (privater Schlüssel) für die RSA- oder DSA-Authentifizierung gelesen wird.

SSH-Client zur Verwendung des angegebenen privaten Schlüssels (Identitätsdatei)

31
cyb0k

Es mag wahnsinnig sein, dass Sysadmins zurückschrecken, aber nachdem ich dieses Problem (Windows) erlitten hatte, gab ich SSH auf und ging zurück zu HTTPS.

Ersetzen Sie beim Hinzufügen des Remote-Repositorys zu Git die SSH-Referenz '[email protected]' durch die HTTPS-URL 'https://<username>@bitbucket.org'. 

Sie müssen Ihr Passwort jedes Mal eingeben, aber insbesondere unter Windows, wo SSH nicht so häufig verfügbar ist wie bei der * nix-Familie, sehe ich dies als geringfügige Unannehmlichkeit im Vergleich zu den Kopfschmerzen von SSH.

14
AJR

Möglicherweise verwenden Sie ssh als git Origin-URL. Versuchen Sie, das ssh Origin auf diese Weise zu entfernen

git remote rm Origin

Fügen Sie dann mit HTTPS-URL neues Origin hinzu, und versuchen Sie es erneut.

git remote add Origin https://[email protected]/SOMETHING/SOMETHING.git
git Push -u Origin master

Stellen Sie sicher, dass Sie Ihre URL aus dem Bitbucket als Origin einfügen.

10
Ronny Kibet

In meinem Fall auf einem neuen Ubuntu 16-Computer fehlten mir Dateien im ~/.ssh-Ordner. Was funktionierte: 

  1. Gehe zum Ordner ~/.ssh
  2. Führen Sie ssh-keygen aus und benennen Sie Ihre Datei, d. H. id_rsa.
  3. cat ~/.ssh/id_rsa.pub | xclip -sel clip ausführen
    Wenn Sie xclip nur apt-get install xclip vermissen :)
  4. Gehen Sie zu (ändern Sie in der URL USERNAME in Ihren Bitbucket-Benutzernamen :)) https://bitbucket.org/account/user/USERNAME/ssh-keys/
  5. Klicken Sie auf Add key und fügen Sie den Schlüssel aus der Zwischenablage ein

Magie - es funktioniert jetzt :)

9
pbaranski

Eine nachhaltigere Lösung ist die Bearbeitung von .bashrc (z. B. vi ~/.bashrc) und das Hinzufügen der folgenden Zeile (Ersetzen des Schlüsselnamens).

ssh-add ~/.ssh/YOUR_KEY

Dadurch wird der Schlüssel automatisch geladen, wenn Sie die Shell starten

7
iTech

In Linux (Ubuntu) hatte ich dieselben Probleme.

Ich habe es mit setup in git gelöst: 

git config --global user.name "Your Name"
git config --global user.email [email protected]

Den öffentlichen Schlüssel mit cat und SSH-Schlüssel an bitbucket.org drucken: 

$ cat ~/.ssh/id_rsa.pub

Bitbucket hinzufügen und das Repository hochschieben:

git remote add Origin [email protected]:<username>/your repository name.git
git Push -u Origin --all

Das ist alles!

4
Rafiqul

Nachdem ich git mit git config --global user.name "My Name" und git config --global user.email [email protected] eingerichtet hatte, hatte ich immer noch Probleme mit dem Fehler Permission Denied, (publickey). Um dieses Problem zu lösen, habe ich zuerst ein neues ssh-Token mit generiert

ssh-keygen

und kopierte es mit

pbcopy < ~/.ssh/YOUR_KEY

Danach ging ich zu bitbucket.com, um es in meinen Einstellungen als neuen SSH-Schlüssel hinzuzufügen. Dann kehrte ich zu meinem Terminal zurück, um den neuen Schlüssel mit hinzuzufügen

ssh-add ~/.ssh/YOUR_KEY.

Das große Problem, das ich hatte, war, dass ich den kritischen ssh-add [key]-Befehl vermisst habe.

3
keala

Überprüfen Sie, ob der SSH-Schlüssel vorhanden ist 

ls -al ~/.ssh

Kopieren Sie den SSH-Schlüssel

cat ~/.ssh/id_rsa.pub | pbcopy

Fügen Sie den kopierten SSH-Schlüssel zu "Bitbucket-Einstellungen", "Sicherheit" und "SSH-Schlüssel" hinzu.

1
Michael Stokes

Ich hatte ein ähnliches Problem mit BitBucket. In meinem Fall wurde es erst behoben, nachdem ich herausgefunden hatte, dass ich Sudo vom Git-Klon-Befehl entfernen sollte!

Nach Attlassian :

Sie sollten Sudo nicht verwenden beim Klonen, Schieben oder Ziehen, weil die ssh-agent wird auf Benutzerebene ausgeführt, nicht auf der Stammebene.

1
Iman Sedighi

Das mag offensichtlich sein, aber ich habe ziemlich viel Zeit damit verbracht.

Überprüfen Sie das Ziel, wenn Sie git remote -vausführen.

In meinem Fall hatte ich die ssh-Tasten perfekt eingerichtet, aber die Ausgabe dieses Befehls war:

Origin [email protected]:USERNAME/REPOSITORY.git

(beachte diegetnotgit)

und nicht 

Origin [email protected]:USERNAME/REPOSITORY.git

Auch dies war ein sehr spezieller Fall, aber überprüfen Sie die Zeichenfolgen dieses Systems sorgfältig, wenn Sie Probleme haben.

Sie können dies mit den folgenden Befehlen beheben:

git remote set-url Origin [email protected]:USERNAME/REPOSITORY.git

0
chase

Ich habe ein ähnliches Problem gelöst, bei dem ich zuvor HTTPS für den Zugriff auf das Repository verwendet hatte und zu SSH wechseln musste, indem ich die URL so setzte.

git remote set-url Origin ssh://[email protected]/...
0
McEwin

In Windows hat die @efesaid-Antwort zur Lösung von Problemen mit dem SSH-Verbindungstest funktioniert. Sie können übrigens eine -v hinzufügen, um zu sehen, welche Schlüssel (nach Name) versucht werden und warum die Verbindung fehlschlägt.

Wenn Sie jedoch zu bitbucket über [email protected]: user/repo.git wechseln, scheint der Host nicht exakt bitbucket.org zu sein, so dass mir immer noch die Berechtigung verweigert wurde. Ich löste sie, indem ich meinen Schlüssel (erneut) mit id_rsa benannte (dies ist der Schlüsselname, der im ssh-Test versucht wurde). 

Dies funktioniert, wenn Sie einen einzelnen RSA-Schlüssel haben. Bei mehreren Schlüsseln muss möglicherweise der Host in der Konfigurationsdatei vorhanden sein 

bitbucket.org:username

aber ich bin mir nicht sicher, dass dies unklar ist

0
Arcanefoam

Ich denke, dass die bitbucket Anweisungen am besten sind. Überprüfen Sie, ob ssh installiert ist und wenn nicht, installieren Sie es

[email protected]:~$ ssh -v
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
           [-F configfile] [-I xxxxx] [-i identity_file]
           [-L [bind_address:]port:Host:hostport] [-l login_name] [-m mac_spec]
           [-O ctl_cmd] [-o option] [-p port]
           [-Q cipher | cipher-auth | mac | kex | key]
           [-R [bind_address:]port:Host:hostport] [-S ctl_path] [-W Host:port]
           [-w local_tun[:remote_tun]] [[email protected]]hostname [command]

[email protected]:~$ ls -a ~/.ssh 
.  ..  google_compute_engine  google_compute_engine.pub  identity  identity.pub  known_hosts

[email protected]:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/krasen/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/krasen/.ssh/id_rsa.
Your public key has been saved in /home/krasen/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|              .  |
|           xx x  |
|          xxxxx  |
|       xxxxxxxxx |
|      .xxxxxxxx  |
|       xxxxx     |
|     xxxxxxxxxxxx|
|    xxxxxxxxxxxxx|
|     xxxxxxxxxxx |
+-----------------+                                                                                                                                  
[email protected]:~$ ls -la ~/.ssh                                                                                                         
total 40
drwx------   2 krasen krasen 4096 Jun 29 14:30 .
drwxr-xr-x 110 krasen krasen 4096 Jun 29 13:00 ..
-rw-------   1 krasen krasen 1675 Mar 18  2015 google_compute_engine
-rw-r--r--   1 krasen krasen  409 Mar 18  2015 google_compute_engine.pub
-rw-------   1 krasen krasen 1679 Jun 29 13:15 identity
-rw-r--r--   1 krasen krasen  409 Jun 29 13:15 identity.pub
-rw-------   1 krasen krasen 1679 Jun 29 14:30 id_rsa
-rw-r--r--   1 krasen krasen  409 Jun 29 14:30 id_rsa.pub
-rw-r--r--   1 krasen krasen 4698 Jun 29 13:16 known_hosts

[email protected]:~$ ssh-agent /bin/bash

um zu prüfen, ob der Agent gestartet ist

[email protected]:~$ ps -e | grep [s]sh-agent 
26503 ?        00:00:00 ssh-agent
[email protected]:~$ ssh-add ~/.ssh/id_rsa
Identity added: /home/krasen/.ssh/id_rsa (/home/krasen/.ssh/id_rsa)
[email protected]:~$ ssh-add -l 
2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx /home/krasen/.ssh/id_rsa (RSA)
[email protected]:~$ cat ~/.ssh/id_rsa.pub
ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

holen Sie sich diesen Schlüssel und fügen Sie ihn als Schlüssel in den Bitbucket-Einstellungen hinzu

0
makkasi

Stellen Sie sicher, dass Sie auf dem Terminal zum richtigen Benutzer gewechselt haben. 

In meinem Fall war der root-Benutzer nicht derjenige, der im Bitbucket-Einstellungsfeld ssh-Schlüssel hinzugefügt hat. Wenn Sie git mit Sudo ausführen, wird es vom root-Benutzer ausgeführt, und mein eigener Benutzer hat der Schlüssel hinzugefügt. 

0

Beim Abrufen vom Bitbucket-Server ist derselbe Fehler aufgetreten. Diese Antwort hat mir geholfen https: //stackoverflow.com/users/2957677/toby-mellor

anstelle von Sudo git pull Origin branch_name

ich habe zu git pull Origin branch_name gewechselt

Das hat mein Problem behoben

0
beatusfk

In meinem Fall wurde das Problem gelöst, den ssh-Schlüssel aus dem Verzeichnis hinzuzufügen 

~/.ssh/id_rsa.pub

auf bitbucket.org . Ich habe es auch id_rsa.pub auf der Website genannt.

Am Anfang habe ich einen weiteren Schlüssel hinzugefügt, den ich nur für bitbucket erstellt und so benannt habe. Die ersten Remote-Aktionen funktionierten, aber nach einigen Tagen wurde die Anfrage abgelehnt. 

0
Alex Cio

Mein Problem war mit Berechtigungen zu tun.

Mein Projektverzeichnis gehörte root, aber ich war als ubuntu angemeldet. Ich würde PERMISSION DENIED bekommen, wenn ich einen git-Befehl eingebe, z. git pull Origin master, also habe ich Sudo git pull Origin master verwendet.

Ich hatte den ubuntu SSH-Schlüssel von /home/ubuntu/.ssh/id_rsa.pub bei BitBucket registriert.

Ich habe jedoch Sudo verwendet. Der verwendete SSH-Schlüssel war also /home/root/.ssh/id_rsa.pub, was sich von dem von BitBucket unterschied.

Lösung für meinen Fall

chown -R username_here:username_here project/folder/here

Jetzt sollte es funktionieren, wenn Sie nicht Sudo voranstellen

ODERgeben Sie den Schlüssel von BitBucket root

0
Toby Mellor