Setelah membuat kunci dengan nama id_rsa
di lokasi default itu. Saya menambahkan identitas ke agen SSH dengan perintah ssh-add ~/.ssh/id_rsa
, Ini berhasil ditambahkan.
Saya bisa SSH tanpa memasukkan frasa kunci seperti yang sudah ada pada SSH Agent.
Tetapi , ketika saya me-restart mesin atau server dan kemudian memeriksa identitas dengan perintah ssh-add -L
saya menerima pesan seperti The agent has no identities
.
Apakah itu berarti ketika kita menghidupkan ulang mesin, Agen kehilangan identitas? Apakah ini perilaku normal atau ada sesuatu yang saya lewatkan di sini?
Tolong tuntun saya, saya tidak terlalu mengenal SSH.
Jawaban:
Itu normal. Tujuan dari agen kunci adalah hanya untuk menyimpan kunci yang didekripsi dalam memori , tetapi tidak akan pernah menulisnya ke disk. (Itu akan mengalahkan tujuan - mengapa bukan hanya melindungi kunci utama saja?)
Jadi kunci harus dibuka pada setiap login, dan Anda perlu mengotomatiskan ini - menggunakan Linux
pam_ssh
adalah salah satu opsi; secara otomatis menggunakan kata sandi OS Anda untuk membuka kunci agen. Modul serupa lainnya adalahpam_envoy
, yang sedikit lebih dapat diandalkan afaik (tetapi membutuhkan systemd).Kedua modul akan memulai agen itu sendiri dan memuat kunci secara otomatis.
sumber
$SSH_AUTH_SOCK
saya mendapatkan hasil sebagai::-bash: /tmp/ssh-gT43vE99vk/agent.511
Izin ditolak Saya bingung di sini .. cuaca penerusan agen saya bekerja atau tidak .. bisakah Anda memandu?echo $SSH_AUTH_SOCK
untuk mencetak nilainya.Cobalah ini ke ~ / .bashrc Anda :
Ini seharusnya hanya meminta kata sandi setelah Anda login.
sumber
Pada OS X, ssh-add memiliki bendera khusus untuk terhubung ke Keychain jika Anda memutuskan untuk menyimpan kunci pribadi Anda di sana.
Lari saja
ssh-add -K ~/.ssh/id_rsa
.Saya percaya ini menjawab pertanyaan Anda lebih lengkap. Bendera spesifik OS X ini sulit ditemukan, tetapi sudah berfungsi sejak setidaknya OS X Leopard.
sumber
ssh-add -A
yang akan menambahkan semua kunci di Gantungan Kunci. Selain itu, buat juga~/.ssh/config
dan tambahkanUseKeychain yes
agar macOS akan selalu menyimpan kunci Anda, seperti dijelaskan di sini: unix.stackexchange.com/questions/140075/…Solusi ini berguna jika kunci ssh Anda dilindungi frasa sandi.
Masalah dengan semua jawaban di atas adalah bahwa jika kunci pribadi Anda dilindungi passphrase, setiap kali Anda meluncurkan terminal baru dan mencoba menggunakan kunci pribadi, Anda harus mengetikkan frasa sandi dan Anda akhirnya akan menjalankan beberapa salinan dari
ssh-agent
in Penyimpanan. Solusinya adalah dengan menambahkan yang berikut ini di Anda~/.bashrc
atau~/.zshrc
:Ini akan meminta frasa sandi kunci pribadi ssh Anda hanya sekali ketika Anda meluncurkan terminal. Pembukaan sesi terminal baru berikutnya (atau tmux sawions) akan menggunakan kembali ssh-agent yang dibuat oleh snippet di atas.
Referensi
sumber