Saya menggunakan TortoiseGit di Windows. Ketika saya mencoba Mengkloning dari menu konteks Windows Explorer standar, saya mendapatkan kesalahan ini:
Harap pastikan Anda memiliki hak akses yang benar dan repositori ada
Lebih tepatnya, snapshot dari terminal adalah sebagai berikut:
git.exe clone --progress -v "git @ arobotdev: \ git \ AlfaRobot.git" "C: \ Work \ AlfaRobot"
Kloning ke 'C: \ Work \ AlfaRobot' ...
Izin ditolak, coba lagi.
Izin ditolak, coba lagi.
Izin ditolak (publickey, password).
fatal: Tidak dapat membaca dari repositori jarak jauh.
Harap pastikan Anda memiliki hak akses yang benar
dan repositori ada.
git tidak keluar dengan bersih (kode keluar 128) (21450 ms @ 19.09.2014 10:36:58)
Apa yang harus saya lakukan agar git berfungsi dengan baik?
sumber
$ ssh-keygen -t rsa -C "[email protected]"
Jawaban:
URL git Anda mungkin telah berubah. Ubah URL di direktori lokal dengan menggunakan perintah berikut
sumber
git remote set-url origin https://github.com/username/repository.git
git
danhttps
.XXXXXXX
?xclip -sel clip < ~/.ssh/id_rsa.pub
, tetapi selama menempelkan ke kotak input kunci github, saya menghapus baris baru terakhir menggunakan backspace, yang sebenarnya mengubah kunci publik. Jadi, selalu salin & tempel kunci publik ssh apa adanya tanpa menghapus baris baru terakhir.Masalah itu mungkin terjadi dengan ssh-agent Anda, kunci ssh Anda belum ditambahkan dengan ssh-agent. Anda harus menerapkan langkah-langkah berikut menggunakan terminal Anda: -
$ eval "$ (ssh-agent -s)"
Agen pid 5867
$ ssh-add
Masukkan frasa sandi untuk /home/you/.ssh/id_rsa: [] Identity added: /home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)
maka itu akan berhasil .. ceria J.
sumber
fatal: Could not read from remote repository.
brew update
. ketika saya berlarissh-add
sebelum menjalankan perintah, itu berhasil. harap saya tidak mengulangi ini sepanjang waktu.Coba gunakan HTTPS sebagai pengganti SSH saat mengambil klon dari GIT, gunakan Url ini untuk klon ambil, Anda dapat menggunakan Gitbase, Android Studio atau alat lain untuk mengkloning cabang.
sumber
Bagi saya itu karena tidak ada kunci SSH di mesin. Periksa kunci SSH secara lokal:
Ini adalah kunci SSH Anda. Tambahkan ke kunci SSH Anda di repositori.
Di gitlab, buka
dan tambahkan kuncinya
sumber
Github sekarang menggunakan skema url
git remote set-url origin https://github.com/username/repository.git
sumber
Anda mencoba untuk mengkloning repositori melalui ssh:,
git@arobotdev...
dan kunci SSH Anda tidak disetel dengan benar di server. Ada beberapa alasan untuk ini:Jika semua 3 di atas tidak benar maka satu-satunya kesimpulan saya adalah mencoba:
git@arobotdev:AlfaRobot.git
Dengan asumsi AlfaRobot.git ada di HOMEDIR pengguna git dan bukan di dalam folder bernama git yang berada di HOMEDIR pengguna git.sumber
Rsa.pub (yaitu kunci publik yang dihasilkan), perlu ditambahkan di halaman github >> pengaturan >> kunci ssh. Periksa bahwa, Anda belum menambahkan kunci publik ini di repositori-pengaturan >> kunci penerapan. Jika demikian, hapus entri dari sini dan tambahkan ke tempat pertama yang disebutkan.
Penyiapan kunci pub-private secara detail .
Itu akan berhasil karenanya!
sumber
Hal pertama yang mungkin ingin Anda konfirmasi adalah koneksi internet. Padahal, masalah internet sebagian besar akan mengatakan bahwa repo tidak dapat diakses.
Pastikan Anda telah menyiapkan ssh baik secara lokal maupun di github Anda. Lihat caranya
Pastikan Anda menggunakan remote ssh git. Jika Anda telah mengkloning https, cukup atur url ke ssh url, dengan perintah git ini
git remote set-url origin [email protected]:your-username/your-repo-name.git
Jika Anda telah mengatur ssh dengan benar tetapi berhenti bekerja, lakukan hal berikut:
eval "$(ssh-agent -s)"
ssh-add
Jika Anda masih mengalami masalah, periksa untuk memastikan bahwa Anda belum menghapus ssh dari github Anda. Jika ssh telah dihapus dari github, Anda dapat menambahkannya kembali. Gunakan
pbcopy < ~/.ssh/id_rsa.pub
untuk menyalin kunci ssh dan kemudian pergi ke pengaturan github ssh Anda dan tambahkan.sumber
Saya mengalami masalah ini, dan saya menemukan bahwa sistem saya menggunakan alamat dns yang salah. Verifikasi jaringan Anda dan uji dengan
Dan baca pesan keluaran. Jika Anda melihat "Anda dapat menggunakan git atau hg untuk menyambung ke Bitbucket". , semuanya baik-baik saja.
sumber
Jika itu berfungsi sebelumnya dan tiba-tiba berhenti bekerja:
Masalah ini dapat disebabkan karena terkadang
ssh-agent
tidak terus-menerus saat melakukan boot ulang. Anda harus memeriksa apakahssh-agent
kunci Anda telah ditambahkan:jika Anda mendapatkan output seperti:
itu berarti
ssh-agent
telah kehilangan kunci Anda. Dalam hal ini, Anda hanya perlu menambahkan kunci identitas lagi. Sesuatu seperti:Kesalahan seharusnya hilang sekarang!
sumber
git_rsa
ke dalam daftarInilah cara saya mengatasi masalah ini. Saya menggunakan Babun (mintty.exe) di Win7 / 10. Ketika saya telah mencoba banyak solusi yang disebutkan di atas, dan tidak ada yang berhasil. Saya menyadari mungkin saya hanya menggunakan agen ssh yang salah ... Jadi saya lari
echo $GIT_SSH
untuk mencari tahu, itu menunjukkan jalan kePlink.exe
. Apa yang sebenarnya saya harapkan adalah OpenSSH.Jadi, saya menambahkan satu baris berikut ke
~/.zshrc
fileDan Berhasil!
sumber
tambahkan baris ini ke
.get/config
file Anda (terima kasih kepada @kovshenin jawaban Git Pull: Ubah Otentikasi ):sumber
Coba https, bukan ssh. Pilih opsi https dari halaman beranda proyek tempat Anda menyalin url kloning.
sumber
Saya menemukan kesalahan ini saat mengunggah proyek ke gitlab. Saya tidak mengkloning dari git melainkan mengunggah proyek. Untuk mendorong kode Anda ke gitlab, Anda memiliki dua cara baik menggunakan ssh atau https. Jika Anda menggunakan https Anda harus memasukkan username dan password akun gitlab. Untuk mendorong kode Anda ke git, Anda dapat menggunakan yang berikut ini.
Mendorong ke Git untuk pertama kalinya
Parameter -C bersifat opsional, ini memberikan komentar di akhir kunci Anda untuk membedakannya dari yang lain jika Anda memiliki beberapa. Ini akan membuat id_rsa (kunci pribadi Anda) dan id_rsa.pub (kunci publik Anda). Kami membagikan kunci publik kami dan menyimpan kunci pribadi kami - yah, pribadi. Gitlab ini Pengaturan Pengguna adalah di mana Anda kemudian akan menambahkan Anda kunci publik ke akun Anda , memungkinkan kita untuk akhirnya mendorong.
Di lokasi proyek Anda (Direktori) gunakan perintah di bawah ini
Ini Mengubah direktori saat ini menjadi repositori Git. Ini menambahkan subdirektori .git ke direktori saat ini dan memungkinkan untuk mulai merekam revisi proyek.
Dorong Menggunakan jalur https
Dorong Menggunakan jalur ssh
- set-upstream: memberi tahu git jalur ke asal. Jika Git sebelumnya telah mendorong cabang Anda saat ini, ia akan mengingat di mana asalnya
master : ini adalah nama cabang yang ingin saya dorong saat menginisialisasi
sumber
Ini juga dapat terjadi jika Anda terhubung ke repositori git melalui VPN. Pastikan Anda tersambung ke VPN yang digunakan untuk mengakses sumber daya organisasi Anda.
sumber
Saya menggunakan Ubuntu
setelah membaca banyak jawaban, tidak ada yang bisa menyelesaikan masalah, bahkan jika saya sudah menambahkan kunci SSH ke akun git saya, dan mencoba mengujinya menggunakan
ssh -T [email protected]
dan dikatakanWelcome <my username>
, tetapi tetap memberi tahu saya bahwa saya tidak memiliki hak akses. Kemudian saya menemukan alasannya:Biasanya jika Anda bukan
root
pengguna, Anda harus menjalankansudo
untuk setiap perintah git.saat berlari
sudo git clone <SSH....>
(misalnya). itu akan dieksekusi di bawahroot
izin, tetapi secara tidak sengaja ketika membuat kunci SSH saya menjalankannya sebagai pengguna biasa dan saya menyimpan kunci~/.ssh/id_rsa
, itu menyelesaikan jalur absolut/home/username/.ssh/id_rsa
. Dan saat melakukannyasudo git clone ...
mencari kunci SSH di/root/.ssh/id_rsa
Mengapa saya bisa yakin tentang ini. Untuk melihat di mana git mencari kunci SSH Anda. Menjalankan perintah ini:
sudo GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvv" git clone <your repository in SSH>
. Ini akan menunjukkan kepada Anda di mana ia mencari kunci SSH Anda.Jadi SOLUSI yang saya sarankan adalah:
Membuat kembali kunci SSH Anda (ikuti instruksi ini ), TAPI jalankan
sudo su
pada langkah pertama, maka Anda akan baik-baik saja.sumber
Masalah alternatif mungkin koneksi internet Anda. Jelas mungkin, tetapi butuh beberapa menit untuk mengetahui wifi saya mati :)
sumber
Seperti jawaban yang lain, menggunakan
https
bukanssh
adalah solusi.Saya memposting jawaban untuk memberikan contoh konkret dari solusi yang mungkin. Saya memecahkan masalah ini dengan bitbucket ketika saya mengubah url jarak jauh ke HTTPS dengan baris perintah ini:
Setelah itu, saya bisa mendorong konten ke repositori dengan perintah ini:
Dan kemudian saya juga bisa menggunakan Sourcetree
sumber
Anehnya saya hanya menerima kesalahan ini di 1 dari banyak repo saya.
Masalah saya adalah setelah menginstal Desktop GitHub baru untuk Windows di mana GitHub lama untuk Win menyimpan kunci di dalamnya
~/.ssh/github_rsa
dan di~/.ssh/github_rsa.pub
mana GitHub baru untuk Win mengharapkannya~/.ssh/id_rsa
sehingga solusinya hanya mengganti nama kunci pribadi dan publik yang ada:Setelah itu biarkan saya mengakses repo lagi tanpa masalah.
sumber
gunakan asal https Anda, bukan url ssh
contoh:
sumber
Menambahkan kunci ssh berhasil untuk saya. Anda dapat membuat kunci ssh dengan perintah ssh-keygen di mac. Anda seharusnya dapat melihat menu Deploy keys di YourRepository> Pengaturan jangan lupa untuk mencentang opsi Izinkan akses tulis.
menyebarkan tangkapan layar menu kunci
sumber
Kesalahan yang sangat umum dilakukan oleh saya. Saya menyalin menggunakan perintah klip
xclip -sel clip < ~/.ssh/id_rsa.pub
, tetapi selama menempelkan ke kotak input kunci github, saya menghapus baris baru terakhir menggunakan backspace, yang sebenarnya mengubah kunci publik.Jadi, selalu salin & tempel kunci publik ssh apa adanya tanpa menghapus baris baru terakhir.
sumber
Bagi saya, saya mengalami masalah dengan VPN perusahaan, setelah memutuskan sambungan berfungsi dengan baik.
Periksa koneksi dengan github menggunakan perintah
ssh -vvvT [email protected]
sumber
Beralih ke penggunaan https berfungsi. Pertama, alihkan ke https daripada kunci ssh. git remote set-url origin
Ini kemudian akan meminta nama pengguna dan kata sandi git.
sumber