Saya menggunakan git bash. Saya harus menggunakan
eval `ssh-agent.exe`
ssh-add /my/ssh/location/
setiap kali saya memulai git bash baru.
Apakah ada cara untuk mengatur agen ssh secara permanen? Atau apakah windows memiliki cara yang baik untuk mengelola kunci ssh?
Saya orang baru, tolong beri saya tutorial rinci, terima kasih!
/my/ssh/location/
setara dengan sesuatu seperti/c/Users/Foobar/.ssh/
?Jawaban:
Dalam sesi git bash, Anda dapat menambahkan skrip ke
~/.profile
atau~/.bashrc
( dengan~
yang biasanya disetel ke%USERPROFILE%
), agar sesi tersebut diluncurkan secara otomatisssh-agent
. Jika file tidak ada, buat saja.Inilah yang dijelaskan GitHub dalam " Bekerja dengan frasa sandi kunci SSH ".
Bagian " Peluncuran ssh-agen otomatis pada Git untuk Windows " pada artikel itu memiliki skrip yang kuat yang memeriksa apakah agen tersebut berjalan atau tidak. Di bawah ini hanya cuplikan, lihat artikel GitHub untuk solusi lengkap.
Sumber Daya Lainnya:
" Mendapatkan ssh-agent untuk bekerja dengan git run dari windows command shell " memiliki skrip yang sama, tetapi saya akan merujuk pada artikel GitHub di atas terutama, yang lebih kuat dan mutakhir.
sumber
PS: Instruksi ini dalam konteks Bash shell dibuka di Windows 10 Linux Subsystem dan tidak menyebutkan tentang sym-linking kunci SSH yang dihasilkan di Windows dengan Bash di Ubuntu di Windows
1) Perbarui .bashrc Anda dengan menambahkan berikut ini di dalamnya
2) Kemudian jalankan
$ source ~/.bashrc
untuk memuat ulang konfigurasi Anda.Langkah-langkah di atas telah diambil dari https://github.com/abergs/ubuntuonwindows#2-start-an-bash-ssh-agent-on-launch
3) Buat file konfigurasi SSH, jika tidak ada. Gunakan perintah berikut untuk membuat yang baru:
.ssh$ touch config
4) Tambahkan berikut ke
~/.ssh/config
5) Tambahkan kunci Anda ke agen SSH menggunakan perintah
$ ssh-add ~/.ssh/id_work_gmail
dan kemudian Anda harus dapat terhubung ke akun github Anda atau host jarak jauh menggunakan ssh. Sebagai contoh dalam konteks contoh kode di atas:atau
Penambahan kunci untuk agen SSH ini harus dilakukan hanya satu kali.
6) Sekarang logout dari sesi Bash Anda pada Windows Linux Subsystem yaitu keluar dari semua konsol Bash lagi dan mulai konsol baru lagi dan coba SSH ke Host Github Anda atau host lain yang dikonfigurasi dalam file konfigurasi SSH dan seharusnya bekerja tanpa memerlukan tambahan Langkah.
catatan:
Jika Anda menghadapi
Bad owner or permissions on ~/.ssh/config
kemudian perbarui izin menggunakan perintahchmod 600 ~/.ssh/config
. Referensi: https://serverfault.com/a/253314/98910Agar langkah-langkah di atas berfungsi, Anda membutuhkan OpenSSH v 7.2 dan yang lebih baru . Jika Anda memiliki yang lebih lama, Anda dapat memutakhirkannya menggunakan langkah-langkah yang disebutkan di https://stackoverflow.com/a/41555393/936494
Rincian yang sama dapat ditemukan di intisari masalah Windows 10 Linux Subsystem SSH-agent
Terima kasih.
sumber
>> "${SSH_ENV}"
? Bukankah seharusnya begitu> "${SSH_ENV}"
? Anda berhasil, tentu saja, tetapi hanya berakhir dengan~/.ssh/environment
file yang lebih lama dan lebih lama , karena (seperti yang saya pikirkan saat ini !?) tanpa alasan ... Banyak, terima kasih banyak! Saya merasa skrip ini harus dimasukkan dalam default.bashrc
untuk WSL Ubuntu, ini sangat berguna!Saya menemukan cara paling lancar untuk mencapai ini adalah menggunakan Pageant sebagai agen SSH dan plink.
Anda perlu mengkonfigurasi sesi dempul untuk nama host yang digunakan di remote Anda.
Anda juga perlu plink.exe yang dapat diunduh dari situs yang sama dengan dempul.
Dan Anda perlu Pageant berjalan dengan kunci Anda dimuat. Saya memiliki pintasan ke kontes di folder startup saya yang memuat kunci SSH saya ketika saya masuk.
Ketika Anda menginstal git-scm, Anda kemudian dapat menentukannya untuk menggunakan tortoise / plink daripada OpenSSH.
Efek bersihnya adalah Anda dapat membuka git-bash kapan pun Anda suka dan mendorong / menarik tanpa tertantang untuk frasa sandi.
Hal yang sama berlaku dengan sesi dempul dan WinSCP ketika kontes memuat kunci Anda. Itu membuat hidup jauh lebih mudah (dan aman).
sumber
Karena saya tidak suka menggunakan dempul di Windows sebagai solusinya, saya membuat utilitas ssh-agent-wrapper yang sangat sederhana . Ini memindai folder .ssh Anda dan menambahkan semua kunci Anda ke agen. Anda hanya perlu memasukkannya ke folder startup Windows agar bisa berfungsi.
Asumsi :
sumber
Saya tidak bisa mendapatkan ini bekerja berdasarkan jawaban terbaik, mungkin karena saya seperti PC noob dan kehilangan sesuatu yang jelas. Tetapi hanya FYI jika itu membantu seseorang yang tertantang seperti saya, apa yang AKHIRNYA bekerja adalah melalui salah satu tautan di sini (dirujuk dalam jawaban). Ini melibatkan hanya menempelkan yang berikut ke saya
.bash_profile
:Saya mungkin memiliki sesuatu yang dikonfigurasi aneh, tetapi tidak berhasil ketika saya menambahkannya ke
.profile
atau.bashrc
. Tantangan nyata lain yang saya temui adalah saya bukan admin di komputer ini dan tidak dapat mengubah variabel lingkungan tanpa disetujui oleh IT, jadi ini adalah solusi bagi mereka yang tidak dapat mengaksesnya.Anda tahu itu berfungsi jika Anda diminta kata sandi ssh saat Anda membuka git bash. Haleluya akhirnya berhasil.
sumber
Letakkan ini di ~ / .bashrc Anda (atau file yang sumbernya berasal darinya) yang akan menghentikannya dijalankan beberapa kali secara tidak perlu per shell:
Dan kemudian tambahkan "AddKeysToAgent yes" ke ~ / .ssh / config:
ssh ke server Anda (atau git pull) secara normal dan Anda hanya akan diminta kata sandi / frasa sandi satu kali per sesi.
sumber
Buat file .bashrc baru di direktori ~ Anda.
Di sana Anda dapat menempatkan perintah yang ingin Anda eksekusi setiap kali Anda memulai bash
sumber
.bashrc
file tersebut (sepertiecho test
dan periksa apakah itu dimuat ketika Anda menjalankan Git Bash..bashrc
folder pengguna Anda, misC:\Users\john
.Solusi dua string sederhana dari jawaban ini :
Untuk sh , bash , dll:
Untuk csh , tcsh , dll:
sumber