Coba ssh-add
, Anda harus ssh-agent
menjalankan dan menahan kunci pribadi Anda
(Ok, menanggapi pertanyaan yang diperbarui, Anda pertama kali menjalankan ssh-keygen
untuk menghasilkan kunci publik dan pribadi seperti yang dijelaskan Jefromi . Anda meletakkan kunci publik di server. Anda harus menggunakan kata sandi, jika Anda tidak memiliki padanan kata yang sama -text password di kunci pribadi Anda. Tetapi ketika Anda melakukannya, maka Anda perlu sebagai hal praktis seperti yang dijelaskan di bawah ini.)ssh-agent
Anda ingin menjalankan ssh-agent
di latar belakang saat Anda masuk. Setelah Anda masuk, idenya adalah untuk menjalankanssh-add
sekali dan hanya sekali, untuk memberikan agen frasa sandi Anda, untuk memecahkan kode kunci Anda. Agen kemudian hanya duduk di memori dengan kunci Anda dibuka dan dimuat, siap digunakan setiap kali Anda ssh di suatu tempat.
Semua perintah ssh-family 1 kemudian akan berkonsultasi dengan agen dan secara otomatis dapat menggunakan kunci pribadi Anda.
Pada sistem OSX (err, macOS ), GNOME dan KDE, ssh-agent
biasanya diluncurkan secara otomatis untuk Anda. Saya akan membahas rinciannya, seperti saya, Anda juga memiliki lingkungan Cygwin atau jendela lain di mana ini pasti tidak dilakukan untuk Anda.
Mulai di sini: man ssh-agent
.
Ada berbagai cara untuk menjalankan agen secara otomatis. Seperti yang dijelaskan oleh halaman manual, Anda dapat menjalankannya sehingga merupakan induk dari semua proses login Anda yang lain. Dengan begitu, variabel lingkungan yang disediakannya akan secara otomatis berada di semua shell Anda. Ketika Anda (nanti) memohon ssh-add
ataussh
keduanya akan memiliki akses ke agen karena mereka semua memiliki variabel lingkungan dengan nama path soket ajaib atau apa pun.
Atau, Anda dapat menjalankan agen sebagai anak biasa, menyimpan pengaturan lingkungan dalam file, dan sumber file itu di setiap shell ketika dimulai.
Sistem OSX dan Ubuntu saya secara otomatis melakukan pengaturan peluncuran agen, jadi yang harus saya lakukan adalah menjalankannya ssh-add
sekali. Coba jalankan ssh-add
dan lihat apakah itu berfungsi, jika demikian, maka Anda hanya perlu melakukannya sekali per reboot.
Sistem Cygwin saya membutuhkannya dilakukan secara manual, jadi saya melakukan ini di saya .profile
dan saya memiliki .bashrc
sumber .profile
:
. .agent > /dev/null
ps -p $SSH_AGENT_PID | grep ssh-agent > /dev/null || {
ssh-agent > .agent
. .agent > /dev/null
}
The .agent
file yang dibuat secara otomatis oleh script; ini berisi definisi variabel lingkungan dan ekspor. Di atas mencoba untuk sumber file .agent, dan kemudian mencoba ke ps(1)
agen. Jika tidak berhasil, ia memulai agen dan membuat file agen baru. Anda juga dapat menjalankan ssh-add
dan jika gagal memulai agen.
1. Dan bahkan lokal dan jarak jauh sudo
dengan ekstensi pam yang tepat.