Saya mengunggah ~/.ssh/id_rsa.pub
ke kunci SSH Bitbucket seperti yang dijelaskan , tetapi Git masih meminta saya untuk kata sandi saya di setiap operasi (seperti git pull
). Apakah saya melewatkan sesuatu?
Ini adalah repositori pribadi (simpanan repositori pribadi orang lain) dan saya mengkloningnya seperti ini:
git clone [email protected]:Nicolas_Raoul/therepo.git
Ini adalah lokal saya .git/config
:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://[email protected]/Nicolas_Raoul/therepo.git
[branch "master"]
remote = origin
merge = refs/heads/master
Dalam lingkungan yang sama dengan kunci publik yang sama, Git on Github berfungsi dengan baik.
.ssh
is rwx------
, .ssh/id_rsa
is -rw-------
, .ssh/id_rsa.pub
is-rw-r--r--
.git/config
dengan[email protected]:Nicolas_Raoul/therepo.git
dan sekarang berfungsi!ssh://[email protected]/userName/repoName.git
- tanpassh://
awalan itu tidak berfungsi.Seperti yang dijelaskan di sini , jika Anda mengkloning dengan SSH url, Anda tidak perlu memasukkan nama pengguna / kata sandi setiap kali Anda menekan / menarik. Periksa jawaban di atas dengan @ manojlds
Tetapi jika Anda ingin mengkloning dengan HTTPS dan ingin menghindari memasukkan nama pengguna / kata sandi setiap kali, Anda dapat menyimpan kredensial ke dalam cache dengan perintah di bawah ini:
git config --global credential.helper 'cache --timeout 3600'
di mana 3600 (detik) berarti 1 jam, Anda dapat mengubahnya sesuai kebutuhan Anda.
sumber
manecs-MBP:LocationTracker manec$ git remote -v origin https://[email protected]/Vysh1/locationtracker.git (fetch) origin https://[email protected]/Vysh1/locationtracker.git (push)
Sudah dijawab di atas. Saya akan merangkum langkah-langkah untuk memeriksa di atas.
dijalankan
git remote -v
dalam dir proyek. Jika output menunjukkan url jarak jauh dimulai denganhttps://abc
maka Anda mungkin memerlukan kata sandi nama pengguna setiap kali.Jadi untuk mengubah jalankan url jarak jauh
git remote set-url origin {ssh remote url address starts with mostly [email protected]:}
.Sekarang jalankan
git remote -v
untuk memverifikasi url jarak jauh yang diubah.Rujuk: https://help.github.com/articles/changing-a-remote-s-url/
sumber
Halo Googler dari masa depan.
Pada MacOS> = High Sierra, kunci SSH tidak lagi disimpan ke KeyChain karena alasan .
Menggunakan
ssh-add -K
tidak lagi selamat restart juga.Berikut adalah 3 solusi yang mungkin .
Saya telah menggunakan metode pertama dengan sukses. Saya telah membuat sebuah file bernama
config
di~/.ssh
:sumber
config
file dalam/.ssh
karya sempurna!cd ~/.ssh
+ls
+nano config
(file sudah dibuat) + tambahkan kode dalam jawaban Vaiden. Kemudian kontrol X + Y untuk menyimpan file.Dalam kasus permintaan HTTP, dan juga mungkin untuk menyisipkan kredensial (dengan kata sandi) langsung ke url:
Ini akan menyelamatkan rasa sakit untuk memberikan kredensial Anda setiap kali lagi. Sederhana modifikasi .git / config (url) Anda.
sumber
$%
777
: berhenti, pikirkan, teliti, pahami, lalu lakukan dengan benar.Tidak ada jawaban yang membantu saya, ternyata masalah saya sedikit berbeda. Itu ssh yang meminta kata sandi saya setiap kali, sebelum mengirim kunci. Jadi yang harus saya lakukan adalah menautkan kata sandi saya dengan perintah ini:
Ini kemudian akan meminta Anda untuk kata sandi Anda dan menyimpannya. Ini bisa menjadi solusi yang Anda cari jika setiap kali Anda diminta kata sandi
Info lebih lanjut di sini
CATATAN: Saya berhasil menggunakan ini pada mesin mac saya, tetapi seperti yang ditunjukkan oleh @Rob Kwasowski di bawah, opsi huruf besar
K
unik untuk mac. Jika tidak pada mac Anda harus menggunakan huruf kecilk
(yang mungkin juga berfungsi untuk mac tapi saya belum menguji).sumber
k
:ssh-add -k ~/.ssh/id_rsa
k
, bukan huruf besar karena opsi tersebut peka terhadap huruf besar-kecil.-K
khusus untuk Mac: help.github.com/en/articles/error-ssh-add-illegal-option----kLangkah 1: Instal git-credential-winstore
https://confluence.atlassian.com/bitbucketserver/permanently-authenticating-with-git-repository-776639846.html
Langkah 2: git config --global credential.helper 'cache --timeout 3600'
Ini akan menyimpan kata sandi Anda selama 1 jam
sumber
Step 1
untukWindows
danStep 2
untukLinux
tetapi Anda lupa menyebutkannya dengan benar.Berikut ini mengasumsikan akses baris perintah melalui iTerm / Terminal ke bitbucket.
Untuk MacOS Sierra 10.12.5, sistem saya memanifestasikan masalah yang setara - meminta frasa sandi SSH saya pada setiap koneksi ke bitbucket.
Masalahnya berkaitan dengan pembaruan OpenSSH di macOS 10.12.2, yang dijelaskan di sini dalam Catatan Teknis TN2449 .
Anda mungkin ingin menyesuaikan solusi Anda, tetapi yang berikut ini akan berfungsi ketika ditambahkan ke file ~ / .ssh / config Anda:
Untuk informasi lebih lanjut tentang konfigurasi ssh, lihat halaman manual untuk ssh_config:
Satu hal lagi: ada artikel bagus tentang superuser di sini yang membahas masalah ini dan berbagai solusi tergantung pada kebutuhan dan pengaturan Anda.
sumber
Saya mengkloning repositori dengan HTTPS URL dan bukan URL SSH karenanya bahkan setelah menambahkan Kunci SSH itu meminta saya untuk kata sandi di Bash Shell.
Saya baru saja mengedit
./.git/config
file dan mengubah nilaiurl
variabel hanya dengan menggantihttps://
kessh://
Misalnya
Diubah menjadi:
sumber
Anda mungkin perlu memeriksa ulang file identitas SSH Anda. Anda mungkin membimbing BitBucket untuk melihat kunci privat yang berbeda / salah dengan kunci publik yang setara yang telah Anda simpan di BitBucket.
Periksa dengan
tail ~/.ssh/config
- Anda akan melihat sesuatu yang mirip dengan:Ingat, bahwa menambahkan identitas tambahan (seperti kantor dan rumah) dapat dilakukan dengan
ssh-add
perintah, misalnya:Setelah Anda mengkonfirmasi kunci privat mana yang sedang dilihat secara lokal, Anda kemudian dapat mengambil setara publik Anda, dalam hal ini:
Dan rekatkan sandi itu ke BitBucket. Git push Anda sekarang akan (asalkan Anda menggunakan klon SSH seperti yang ditunjukkan oleh jawaban yang disebutkan di atas) diizinkan tanpa kata sandi, karena perangkat Anda adalah perangkat yang dikenal ramah.
Semoga ini membantu menjernihkannya untuk seseorang.
sumber
Dengan saya, walaupun saya menjalankan 'git clone ssh: //[email protected]: 7999 / projName / projA.git' Saya masih dimintai kata sandi untuk repo baru yang saya kloning, jadi dengan membandingkan .git / config file ke repo lain yang berfungsi, ternyata url di bagian [remote "origin"], disetel ke jalur ssh di atas untuk repo baru, tetapi disetel ke https: xxx untuk yang berfungsi .
sumber
Saya memiliki keanehan lain di sekitar masuk. Saya menemukan sesuatu yang tampak benar-benar bodoh tetapi berhasil dalam kasus saya. Cukup buka gantungan kunci MacOS. Temukan ikon kunci login di sidebar. Klik untuk keluar dan kemudian klik untuk masuk. Kedengarannya bodoh tapi itu memecahkan masalah saya. Layak dicoba.
sumber