Coba ssh-add, Anda harus ssh-agentmenjalankan dan menahan kunci pribadi Anda
(Ok, menanggapi pertanyaan yang diperbarui, Anda pertama kali menjalankan ssh-keygenuntuk 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-agentdi 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-agentbiasanya 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-addataussh 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-addsekali. Coba jalankan ssh-adddan 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 .profiledan saya memiliki .bashrcsumber .profile:
. .agent > /dev/null
ps -p $SSH_AGENT_PID | grep ssh-agent > /dev/null || {
ssh-agent > .agent
. .agent > /dev/null
}
The .agentfile 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-adddan jika gagal memulai agen.
1. Dan bahkan lokal dan jarak jauh sudodengan ekstensi pam yang tepat.