GitHub: İzin reddedildi (publickey). ölümcül: Uzak uç beklenmedik bir şekilde telefonu kapattı


197

Bir proje yüklemek için aşağıdaki talimatları izledim.

Global kurulum:

 Download and install Git
  git config --global user.name "Your Name"
  git config --global user.email tirenga@gmail.com
  Add your public key


Next steps:

  mkdir tirengarfio
  cd tirengarfio
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:tirenga/tirenga.git
  git push origin master

Ama bu hatayı alıyorum:

İzin reddedildi (publickey). ölümcül: Uzak uç beklenmedik bir şekilde telefonu kapattı

Yanıtlar:


24

Benim için sorun sudo üzerinden klonun uygulanmasıydı.

Kullanıcı iznine sahip olduğunuz bir dizine klonlarsanız (/ home / user / git) düzgün çalışır.

(Açıklama: Süper kullanıcı olarak bir komutun çalıştırılması, kullanıcı ile bir komutun çalıştırılmasıyla aynı ortak anahtarla çalışmaz. Bu nedenle Github bağlantıyı reddetti.)

Bu çözüm için önceden ayarlanmış bir SSH anahtarı gerekiyor: https://help.github.com/articles/generating-ssh-keys


1
Bu çözüm learner_19
Erik

125

Ortak anahtarımı github'a eklemek zorunda kaldım. https://help.github.com/articles/generating-ssh-keys


3
Linux makinesi çalıştırıyorsanız emacs veya nano kullanıyorsanız id_rsa.pub dosyasının içeriğini kopyalamak zor olabilir. Bir metin editörü ile kopyalamayı deneyin (Not Defteri, TextEdit veya gedit iyi olur). Bunlardan herhangi birine sahip değilseniz, vim kullanabilirsiniz.
Gokul NK

4
@GokulNK Diğer alternatif, sayfanın önerdiği gibi xclip kullanmaktır.
w4etwetewtwet

7
cat ~/.ssh/id_rsa.pubbir seçenek olabilir? : p
torr

pbcopy < ~/.ssh/id_rsa.pubOS X'te kullanabilir cmd+vve github sayfasına yapıştırabilirsiniz ( ).
user3648895


28

RSA anahtar çiftini oluşturduktan sonra, şunu kullanarak SSH'ye eklemeniz gerekir:

ssh-add ~/.ssh/id_rsa

veya rsa anahtar çiftinizi oluşturduğunuz her yerde.


Cankurtaran! Kafasına çiviyi vurdun. Teşekkür ederim
Tash Pemhiwa

Kabul edildiğinde, önce ssh-agent'un çalışıp çalışmadığını (GitHub'ın belgelerinde bir tane var) ve anahtarın anahtarlığına eklenip eklenmediğini kontrol etmek önemlidir. Yine de ssh-agent'ın anahtarlığında olsa bile anahtarın kullanılmasını engelleyebilecek başka bir şey, özel anahtar için doğru erişim modudur : 0600 ( chmod 600 ~/.ssh/id_rsatemelde) olmalıdır.
chikamichi

18

Kullanıcı adınızı ve havuz adınızı kullanarak aşağıdaki komutu yazın:

git clone https://github.com/{user name}/{repo name}

Ubuntu'da bu mükemmel çalışıyor.


Güvenli bir bağlantı için https protokolünün gerekli olduğunu düşünüyorum, bu yüzden çalışıyor. Git @ github .. makine için güvenli DEĞİLDİR.
Timo

16

Uzun süre derslerde bir çözüm buldum.

Bu bağlantıdaki github eğitimini izledim -> https://help.github.com/articles/error-permission-denied-publickey ve her adımda bağlanabildim. Ama ben push -u origin master gitmeye çalışırken bu hatayı aldım:

İzin reddedildi (publickey). ölümcül: Uzak depodan okunamadı.

Lütfen doğru erişim haklarına sahip olduğunuzdan emin olun

İşte bunu nasıl düzelttim !! Terminal'i kullanarak proje dizinine gidin ve bir göz atın

$git remote -v

Bunun gibi bir şey alacaksınız:

origin  ssh://git@github.com/yourGithubUserName/yourRepo.git (fetch)
origin  ssh://git@github.com/yourGithubUserName/yourRepo.git (push)

Git@github.com'dan farklı bir şey kullanıyorsanız , komutunu yazarak git dizinindeki config dosyasını açın:

vi .git/config

Ve çizgiyi yapılandırın

[remote "origin"]

url = ssh://git@github.com/yourGithubUserName/yourRepo.git

fetch = +refs/heads/*:refs/remotes/origin/

Benim için aslında git@github.com yerine <myernameername @ github.com yazarak çalıştı
Eduard Feicho

"Git remote -v" komutu daha önce görmediğim bir komut değil ve ben de depolarımdan birinin neden çalıştığını anlamanın anahtarı olduğu ortaya çıktı, diğeri ise "İzin reddedildi (publickey)" "git ls-remote" çalıştırmayı denedi. Çok kullanışlı. Teşekkürler.
Kevin

6

Benim durumumda, ana kullanıcı için zaten bir tane olduğu için başka bir kullanıcı için ortak anahtarı ayarlamam gerekiyordu. kullanıcıları değiştirdikten ve yukarıdaki bağlantıdaki komutları gerçekleştirdikten sonra test sunucumun kurulumunu sorunsuz gerçekleştirebildim.


Benzer sorun - SSH ile ayarlanmış gerçek kullanıcı olarak değil kök (ve bu göz ardı) olarak oturum açtı. Hiçbir şey için çalışma taahhüdü alınamadı. Düzeltilen kullanıcı sorununa geri dönmek!
Richard Hollis

1
Düzeltmenin gerçekte nasıl gerçekleştirileceğine dair kesin açıklama eksikliği.
Richard

Bunu açıklamam gerekmiyor, bu senin için Richard! Root olmayan hesabımı kullanıyordum. Komutu sudo önekiyle github help url'den ( help.github.com/articles/generating-ssh-keys#platform-linux ) yapmak zorunda kaldım .
Dan Power

5

Bu sorunu yaşadım, ancak yukarıdaki çözümlerin hiçbiri işe yaramadı. Klonlayıp getirebildim ama itemedim. Sonunda, sorunun urlbenim içimde olduğunu anladım .git/config, şöyle olmalı:

git@github.com:<username>/<project>

(değil ssh://github.com/<username>/<project>.gitveya https://github.com/<username>/<project>.git).


2
Bir SSH bağlantısı için, git@parça sihirdir. Yani ssh://git@github.com/username/project.gitişe yarıyor.
fil

.git gerçekten önemlidir. Bu çözüm mükemmel çalışıyor.
Onur Göker

5

Buradaki cevapların hiçbirinin benim için işe yaramadığı göz önüne alındığında, nihayet Bitbucket'e (veya Github, bu durumda önemli değil) bağlanma sorunumu ssh -vT git@bitbucket.org ile takip ettim.

Benim durumumda, arızanın RSA yerine bir DSA anahtarı kullanmasıydı ve görünüşe göre SSH istemcim artık buna izin vermiyor.

debug1: Pubkey'de olmadığından ssh-dss anahtarını /c/Users/USER/.ssh/id_dsa atlamak

Çözüm bunu .ssh / config dosyasına eklemekti:

Host *
    PubkeyAcceptedKeyTypes +ssh-dss

Bu, ssh-dss anahtar türünü mevcut tüm kabul edilen ortak anahtar türlerine zarif bir şekilde ekler ve bu yapıldıktan sonra git artık Bitbucket'e ssh olabilir.


Aralık 2015'te Debian kararsız bir makinede benim için çözüm buydu. Kimlik seçimimi zorlamak için zaten bir girişim olduğu için bunu "Host bitbucket.org" ile kısıtladım.
bitmusher

3

Benim sorunum, ssh anahtarımı mac terminalime her girdiğimde SPECIFIC NAME vermeye çalışıyordu ssh-keygen.

Ben sadece "ssh-keygen" üreten adı bırakarak sorunu çözdü id_rsa. id_rsaÖzel anahtarınız olan bir mac üzerindeki .ssh klasörünüzde ve id_rsa.pubgenel anahtarınız olan 2 anahtarla sonuçlanacaksınız. Sonra kodu kopyalayıp id_rsa.pubGitHub hesap ayarlarıma kaydettim ve hepsi buydu. Sorun çözüldü.


Benim için de aynı. Adı boş bırakmak sorunu çözdü. Teşekkürler.
Berk

Adamım, sen benim günümü yaptın! Özel anahtar isimleri nedeniyle konsolla 2 hafta! Teşekkürler!
eilas

Yardımcı oldu sevindim! @eilas
paopao

Bunun nedeni, çoğu sistemde varsayılan özel anahtarların ( ~/.ssh/id_rsa, ~/.ssh/id_dsave ~/.ssh/identity) SSH kimlik doğrulama aracısına otomatik olarak eklenmiş olmasıdır.
maffo


2

Ortak anahtar eklemek çözümdür. Ssh anahtarları oluşturmak için: https://help.github.com/articles/generating-ssh-keys adım adım talimatlar vardır.

Ancak, anahtar doğru şekilde oluşturulmazsa sorun devam edebilir. Bunu da yararlı bir bağlantı olarak buldum: https://help.github.com/articles/error-permission-denied-publickey

Benim durumumda sudo-sudo kullanmadan ssh anahtarı üretiyordum ama git komutlarını kullanırken sudo kullanmam gerekiyordu. Yukarıdaki "sudo olmadan SSH anahtarları oluşturursanız, sudo git push gibi bir komut kullanmaya çalıştığınızda, oluşturduğunuz SSH anahtarını kullanmayacaksınız." bana yardımcı oldu.

Yani çözüm, sudo'yu hem anahtar üreten komutlarla hem de git komutlarıyla kullanmak zorunda olduğumdu. Veya başkaları için, hiçbir yerde sudo'ya ihtiyaç duymadıklarında, iki adımdan hiçbirinde kullanmayın. (anahtar oluşturma ve git komutları).


1

Windows'ta SSH veya Git Clone çalıştırırken de benzer bir sorunla karşılaştım. Bulguları takip etmek sorunumu çözmemde yardımcı olur:

  • Ssh anahtarı oluşturmak için “rhc setup” veya diğer ssh yöntemlerini çalıştırdığınızda, ana klasörünüzdeki .ssh klasöründe id_rsa özel anahtar dosyası oluşturulur, varsayılan değer C: \ User \ UserID olur.
  • Windows için Git kurulum dizininde kendi .ssh klasörü vardır. Git / ssh komutunu çalıştırdığınızda, bu klasörde id_rsa özel anahtar dosyasını arayacaktır.
  • İd_rsa'yı ana klasör .ssh klasöründen git kurulum dizinindeki .ssh klasörüne kopyalayarak sorunu çözdü

Ayrıca, git ana klasörde varsayılan .ssh klasörünü kullanmak için "anlatmak" için bir yol olduğunu düşünüyorum ama yine de nasıl olduğunu anlamak gerekir.


1

Benim için şöyle çalıştı:

GitHub'da sshbağlantıyı değiştirdim httpsve ardından aşağıdaki komutları verdim:

$ git init
$ git remote add origin https:...
$ git add .
$ git commit -m "first commit"
$ git push origin master

0

Ubuntu'yu Windows Store'da kullanma

linux için windows alt sistemi

, git push'unuz farklı hesaplarda çalışır.


0

Linux makinesi kullanıyorsanız kontrol edin,

  • openssh yüklüyse
  • yaparsanız, mevcut bir ortak anahtarınız var mı yoksa yoksa bir tane oluşturmanız gerekir.
  • genel anahtarınız github hesabınıza eklenir.

Yeni SSH anahtarları oluşturmak ve bunları Github hesabıma eklemek sorunumu çözdü. Daha fazla ayrıntı için bu sayfaya bakabilirsiniz. GitHelp .


0

Şube türü bağlantınızı ssh yerine https olarak değiştirmeyi deneyebilirsiniz.

  1. nano project_path/.git/config
  2. Şununla değiştir git@github.com:username/repository.git:https://username@github.com/username/repository_name.git
  3. Dosyayı kaydet ctrl+o

Bundan sonra git pullpublickey olmadan deneyebilirsiniz



-1

Mac kullanıyorsanız bunu düzeltmenin hızlı bir yolu OSX uygulamasından çıkış yapmak ve tekrar giriş yapmaktır.


-1

Benim sorunum, özel anahtarımda bir parola ile çalışmadığıydı.

Umarım birine yardım eder.



-3

Bahsedilen çözümleri denedim ama yine de başarısız oldum. Sonunda benim için çalıştı çözüm buldum burada uzaktan bağlantı yeniden eklenmesini sonra çıkarma -


-4

Aynı sorunu pencerelerde de yaşadım. SSH'den HTTPS'ye geçtim ve Git PUSH çalıştırdım.

git push -u origin master
Username for 'https://github.com': <Github login email>
Password for <Github login>: xxx

Başarılı! Bu yardımcı olur umarım.


Bu bir çözüm olsa da, ilk sorunu çözmez.
maffo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.