Saya menambahkan kunci ssh ke agen dengan:
$ ssh-add ~/.ssh/id_rsa_mac
Identity added: /Users/alex/.ssh/id_rsa_mac (/Users/alex/.ssh/id_rsa_mac)
Setelah reboot, agen tidak memiliki kunci ini ditambahkan lagi:
$ ssh-add -l
The agent has no identities.
Kenapa ini terjadi?
$HOME/.gnupg/private-keys-v1.d
segera setelah Anda menambahkannya dengan ssh-add. Sungguh gigih. Nah dengan asumsi Anda memiliki direktori home yang tidak mudah menguap.Jawaban:
Penambahan kunci untuk agen bersifat sementara. Mereka hanya bertahan selama agen berjalan. Jika Anda membunuhnya atau me-restart komputer Anda mereka hilang sampai Anda menambahkannya lagi. Dari
ssh-agent
halaman manual:macOS Sierra
Dimulai dengan macOS Sierra 10.12.2 , Apple telah menambahkan opsi konfigurasi UseKeychain untuk konfigurasi SSH. Anda dapat mengaktifkan fitur ini dengan menambahkan
UseKeychain yes
ke~/.ssh/config
.Gantungan Kunci OSX
Saya tidak menggunakan OSX tetapi menemukan T&J di SuperUser berjudul: Bagaimana cara menggunakan Keychain Mac OS X dengan kunci SSH? .
Jadi dari suaranya Anda bisa mengimpor kunci SSH Anda ke Keychain menggunakan perintah ini:
Kunci Anda kemudian harus bertahan dari boot ke boot.
Sumber: Super User - Bagaimana cara menggunakan Keychain Mac OS X dengan kunci SSH?
sumber
~/.ssh/id_rsa
. Saya menduga ini adalah lokasi keyfile Anda di linux. Mungkin juga Anda tidak menggunakan agen kunci ssh standar. Ada yang lain, seperti gnome-keyring-daemon, yang mungkin memiliki perilaku berbeda.ssh-agent
menambahkan kunci secara otomatis. Menurut pendapat saya itussh-add
yang membaca lokasi standar, ataussh
klien jika Anda tidak menggunakan agen./usr/bin/ssh-add -K /path/to/private/key
Ini
ssh-agent
adalah layanan sesi yang menyimpan kunci sementara untuk pengguna.Tujuan utama agen SSH adalah untuk mengingat versi teks kunci yang diamankan menggunakan frasa sandi. Dengan kata lain, kunci disimpan pada disk yang dienkripsi menggunakan frasa sandi dan pemilik kunci menggunakan
ssh-add
atau alat GUI untuk memberikan frasa sandi dan memerintahkan agen untuk mengingatnya sampai sesi keluar atau pengguna meminta penghapusan secara eksplisit.Jika Anda tidak menggunakan kata sandi dan Anda tidak menggunakan penerusan agen (yang tidak aman untuk sebagian besar tujuan), Anda tidak memerlukan agen sama sekali . Setiap klien SSH harus dapat membaca kunci dari disk, baik dari lokasi standar, atau dari yang ditentukan secara eksplisit.
Lokasi standar tercantum di halaman manual
ssh(1)
:Saat menggunakan lokasi yang tidak standar, Anda dapat menggunakan
-i
sakelar untukssh
dijelaskan di halaman manual yang sama, atau opsi terkait di klien SSH yang Anda gunakan.sumber
ssh-agent
Di Sierra :
Gunakan UseKeychain . (Saya belum mencoba ini tetapi sepertinya solusi yang paling benar.)
Atau
Atau buat file plist alih-alih ditambahkan ke
~/.bash_profile
.Penafian: seperti yang telah dicatat orang lain, saya tidak tahu seberapa aman menyimpan frasa sandi ssh di gantungan kunci.
sumber