Saya memiliki layanan bangunan otomatis yang mengunduh dari repositori pribadi git. Masalahnya adalah ketika mencoba mengkloning repositori, ia perlu memberikan kata sandi, karena tidak diingat; jadi karena tidak ada interaksi manusia, ia menunggu kata sandi selamanya. Bagaimana saya bisa memaksanya mengingat dari id_rsa.pub?
125
eval $(ssh-agent)
sebagai gantinya.ssh-add ~/.ssh/myfile_rsa
copy > ~/.bashrc
di git bash untuk membuat file bashrc di windows, abaikan kesalahanJawaban ini menjelaskan cara mendapatkan nama pengguna dan kata sandi GitHub untuk disimpan secara permanen, bukan frasa sandi kunci SSH.
Di Windows, jalankan saja
Ini berarti bahwa lain kali Anda mendorong, Anda akan memasukkan nama pengguna dan kata sandi Anda seperti biasa, tetapi mereka akan disimpan dalam kredensial Windows. Anda tidak harus memasukkannya lagi, setelah itu.
Seperti di, Push to GitHub tanpa memasukkan nama pengguna dan kata sandi setiap saat (Git Bash di Windows) .
sumber
git
akan mengubah perilakunya sesuai dengan set konfigurasi direktif.Saya lebih suka tidak harus mengetikkan frasa sandi SSH saya ketika membuka terminal baru; sayangnya solusi starmonkey membutuhkan kata sandi yang harus diketik untuk setiap sesi. Sebaliknya, saya memiliki ini di
.bash_profile
file saya :Ini akan mengingat frasa sandi saya untuk sesi terminal baru juga; Saya hanya perlu mengetikkannya sekali ketika saya membuka terminal pertama saya setelah booting.
Saya ingin menghargai di mana saya mendapatkan ini; ini adalah modifikasi dari karya orang lain, tetapi saya tidak ingat dari mana asalnya. Terima kasih penulis anonim!
Pembaruan 2019-07-01: Saya rasa semua ini tidak perlu. Saya sekarang secara konsisten menjalankan ini dengan memastikan
.bash_profile
file saya menjalankan ssh-agent:Lalu saya mengatur
ssh
file konfigurasi seperti ini:sumber
Jika saya memahami pertanyaan dengan benar, Anda sudah menggunakan kunci SSH resmi di layanan build, tetapi Anda ingin menghindari keharusan mengetikkan frasa sandi untuk setiap klon?
Saya dapat memikirkan dua cara untuk melakukan ini:
Jika layanan build Anda dimulai secara interaktif: Sebelum Anda memulai layanan build, mulailah
ssh-agent
dengan batas waktu (-t
opsi) yang cukup panjang . Kemudian gunakanssh-add
(msysGit seharusnya memiliki itu) untuk menambahkan semua kunci pribadi yang Anda butuhkan sebelum Anda memulai layanan membangun Anda. Anda masih harus mengetikkan semua kata sandi, tetapi hanya sekali per peluncuran layanan.Jika Anda ingin menghindari mengetikkan kata sandi sama sekali, Anda selalu dapat menghapus kata sandi dari kunci SSH, seperti yang dijelaskan dalam /server/50775/how-do-i-change-my- private-key-passphrase , dengan menetapkan passphrase baru yang kosong. Ini seharusnya menghilangkan prompt kata sandi sepenuhnya, tetapi bahkan lebih tidak aman daripada opsi sebelumnya.
sumber
Ketika saya mencoba untuk mendorong kode saya, saya mendapatkan kesalahan di bawah ini:
Setelah beberapa jam penelitian, saya menemukan saya perlu menggunakan perintah di bawah ini:
Setelah menjalankan perintah di atas, saya mendapatkan prompt untuk memasukkan nama pengguna dan kata sandi GitHub saya. Setelah memberikan kredensial yang benar, saya dapat mendorong kode saya.
sumber
Solusi yang tepat adalah:
Jalankan terminal default Windows - cmd dan dapatkan direktori profil master Anda
Jalankan Git Bash di direktori di atas dan buat
.bashrc
file dengan perintahBuka
.bashrc
file dengan editor teks favorit Anda dan tempel kode dari Bantuan GitHub ke file itu:Mulai ulang Git Bash dan meminta kata sandi Anda (hanya pertama kali) dan selesai. Tidak ada kata sandi yang mengganggu lagi.
sumber
Anda perlu membuat
authorized_keys
file di bawah.ssh
folder pengguna di mana Anda akan terhubung ke server repositori. Misalnya, dengan asumsi Anda menggunakan nama penggunabuildservice
padarepo.server
Anda dapat menjalankan:Maka Anda harus memeriksa hal-hal berikut:
id_rsa
Kunci pribadi terkait disajikan di[email protected]:~/.shh/id_rsa
.Sidik jari repo.server disimpan dalam
[email protected]:~/.ssh/known_hosts
file. Biasanya itu akan dilakukan setelah upaya pertamassh
untuk terhubung ke Internetrepo.server
.sumber
cat id_rsa.pub > .ssh/authorized_keys
akan menimpa kunci resmi yang ada. Gunakan>>
untuk menambahkan alih-alih menimpa.