Saya membaca dan mengikuti beberapa dokumentasi online tentang cara mengatur ssh-agent sehingga saya tidak perlu mengetikkan kata sandi setiap kali saya ssh ke mesin jarak jauh.
Namun, dengan bantuan ssh-agent , saya masih perlu melakukan ssh-add
setiap kali saya me-restart shell. The ssh-add
kemudian meminta saya untuk memasukkan kata sandi untuk membuka kunci pribadi.
Enter passphrase for key '/home/xx/.ssh/id_rsa':
Alih-alih mengetik kata sandi saya untuk mesin jarak jauh, saya diminta mengetikkan kata sandi untuk kunci pribadi. Ini seperti keluar dari api penyucian dan mendapati diriku di neraka sesudahnya. Sepertinya id_rsa hanya sementara ditambahkan ke ssh-agent dalam suatu sesi , karena setiap kali saya masuk dan mengetik ssh-add -l
. Saya mendapat:
The agent has no identities.
Bolehkah saya bertanya bagaimana secara permanen menyimpan kunci (id_rsa) di ssh-agent? Terima kasih
EDIT: inilah yang saya lakukan dengan ssh-agent
. Saya menambahkan blok berikut ke dalam~/.bash_profile
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "SSHAGENT" ]; then
eval `$SSHAGENT $SSHAGENTARGS`
trap "kill $SSH_AGENT_PID" 0
fi
ssh-add
memiliki efek yang bertahan lebih lama dari jendela shell yang Anda ketikkan.ssh-agent
di pos.Jawaban:
Saya telah menginstal gantungan kunci.
sudo apt-get pasang gantungan kunci
Jika Anda menjalankan bash, Anda perlu menambahkan beberapa perintah ke .bash_profile Anda. Jika Anda tidak memiliki .bash_profile, buat satu di folder home Anda. Tambahkan baris ini:
Di awal hari kerja saya akan masuk. Ketika saya membuka terminal, saya akan diminta kata sandi saya sekali. Untuk semua terminal dan koneksi baru lainnya, saya tidak akan diminta kata sandi saya lagi.
sumber
ssh-add
di terminal?Apa yang Anda cari kurang aman, tetapi dapat dicapai menggunakan otentikasi kunci publik tanpa perlu ssh-agent. Opsi yang lebih aman adalah menggunakan otentikasi kunci publik dengan frasa sandi saat mematikan otentikasi kata sandi pada server ssh, tetapi ini bukan yang Anda minta. Lihat tautan di bagian bawah jawaban ini untuk instruksi jika Anda memutuskan untuk melakukan ini sebagai gantinya.
Untuk menggunakan ssh tanpa diminta frasa sandi apa pun, Anda perlu membuat keypair saat membiarkan bidang kata sandi kosong.
Untuk memeriksa apakah Anda telah membuat keypair, periksa file id_rsa dan id_rsa.pub di direktori ~ / .ssh Anda. Jika sudah ada, Anda dapat menghapusnya atau memindahkannya untuk membuat keypair baru.
Catatan, jika Anda menghapusnya, Anda akan kehilangan akses ke server ssh yang Anda gunakan kemudian kunci lama untuk mengautentikasi jika otentikasi kata sandi dimatikan pada server.
Untuk membuat keypair baru, jalankan perintah berikut:
Terima lokasi default untuk kunci dan biarkan kata sandi kosong.
Untuk memberikan kunci publik Anda ke server ssh yang ingin Anda sambungkan, gunakan perintah berikut:
Setelah menyelesaikan langkah-langkah ini, Anda akan dapat masuk ke server jarak jauh tanpa kata sandi dari komputer yang Anda gunakan.
Referensi: http://tombuntu.com/index.php/2008/02/20/public-key-authentication-for-ssh-made-easy/
sumber
Beberapa waktu yang lalu, saya tiba-tiba mulai dimintai kata sandi untuk membuka kunci ssh saya ketika melakukannya
git push
. Ternyata untuk berhenti ditanyai frasa sandi, cukup menambahkan SSH Key Agent (GNOME Keyring: SSH Agent) ke Startup Applications (dalam kasus saya - hanya dengan mencentang kotak centang):sumber