Sudahkah Anda mencoba hit Google teratas untuk semua istilah ini?
Daniel Beck
Ya saya lakukan. Saya tidak mendapatkan informasi yang berguna. Saya buruk
maneeshshetty
Jawaban:
44
Sebuah agen adalah program yang membuat kunci Anda dalam memori sehingga Anda hanya perlu membuka mereka sekali , bukan setiap kali. ssh-agent melakukan ini untuk kunci SSH.
Metode yang biasa untuk memulai ssh-agent adalah:
eval `ssh-agent`- ini menjalankan agen di latar belakang, dan menetapkan variabel lingkungan yang sesuai untuk instance shell saat ini .
( ssh-agent , ketika dimulai tanpa argumen, menampilkan perintah untuk ditafsirkan oleh shell Anda.)
exec ssh-agent bash- memulai instance baru dari bashshell, menggantikan yang sekarang.
(Dengan satu atau lebih argumen, ssh-agent tidak menghasilkan apa-apa, tetapi memulai perintah yang ditentukan: dalam kasus ini, bashshell, tetapi secara teknis bisa berupa apa saja.)
Metode kedua kadang-kadang lebih disukai, karena secara otomatis membunuh ssh-agent ketika Anda menutup jendela terminal. (Saat memulai dengan eval, agen akan tetap berjalan, tetapi tidak dapat diakses.)
Namun, ini hanya memulai agen kosong. Untuk benar-benar membuatnya berguna, Anda perlu menggunakan ssh-add , yang membuka kunci Anda (biasanya ~/.ssh/id_*) dan memuatnya ke agen, membuatnya dapat diakses oleh koneksi ssh atau sftp .
Apakah ada cara untuk memulai ssh-agent di beberapa sesi bash, sekali?
Asim
9
Selain itu, Anda mungkin ingin menambahkan beberapa tombol di awal sesi.
Edit ~/.bashrcfile Anda , dan tambahkan:
ssh-add &>/dev/null || eval `ssh-agent` &>/dev/null # start ssh-agent if not present
[ $? -eq 0 ] && { # ssh-agent has started
ssh-add ~/.ssh/your_private.key1 &>/dev/null # Load key 1
ssh-add ~/.ssh/your_private.key2 &>/dev/null # Load key 2
}
Periksa kunci Anda dengan ssh-add -l
Anda dapat menghentikan sesi ssh-agent saat ini dengan ssh-agent -k
Sesuatu yang perlu diketahui tentang ssh-agent dan .bashrc adalah jangan memuat terlalu banyak kunci. Jumlah percobaan default untuk ssh daemon terbatas pada 6. Ini dapat dimodifikasi /etc/ssh/sshd_configdengan MaxAuthTriesnilainya.
Jawaban:
Sebuah agen adalah program yang membuat kunci Anda dalam memori sehingga Anda hanya perlu membuka mereka sekali , bukan setiap kali. ssh-agent melakukan ini untuk kunci SSH.
Metode yang biasa untuk memulai ssh-agent adalah:
eval `ssh-agent`
- ini menjalankan agen di latar belakang, dan menetapkan variabel lingkungan yang sesuai untuk instance shell saat ini .( ssh-agent , ketika dimulai tanpa argumen, menampilkan perintah untuk ditafsirkan oleh shell Anda.)
exec ssh-agent bash
- memulai instance baru daribash
shell, menggantikan yang sekarang.(Dengan satu atau lebih argumen, ssh-agent tidak menghasilkan apa-apa, tetapi memulai perintah yang ditentukan: dalam kasus ini,
bash
shell, tetapi secara teknis bisa berupa apa saja.)Metode kedua kadang-kadang lebih disukai, karena secara otomatis membunuh ssh-agent ketika Anda menutup jendela terminal. (Saat memulai dengan
eval
, agen akan tetap berjalan, tetapi tidak dapat diakses.)Namun, ini hanya memulai agen kosong. Untuk benar-benar membuatnya berguna, Anda perlu menggunakan ssh-add , yang membuka kunci Anda (biasanya
~/.ssh/id_*
) dan memuatnya ke agen, membuatnya dapat diakses oleh koneksi ssh atau sftp .sumber
Selain itu, Anda mungkin ingin menambahkan beberapa tombol di awal sesi.
Edit
~/.bashrc
file Anda , dan tambahkan:Periksa kunci Anda dengan
ssh-add -l
Anda dapat menghentikan sesi ssh-agent saat ini dengan
ssh-agent -k
Sesuatu yang perlu diketahui tentang ssh-agent dan .bashrc adalah jangan memuat terlalu banyak kunci. Jumlah percobaan default untuk ssh daemon terbatas pada 6. Ini dapat dimodifikasi
/etc/ssh/sshd_config
denganMaxAuthTries
nilainya.sumber
ssh-add
dengan "&"? Apakah Anda mengasumsikan file kunci pribadi tidak terlindungi?