आपको तब भी निजी कुंजी को डिक्रिप्ट करने के लिए पासवर्ड प्रॉम्प्ट मिलेगा, भले ही वहssh-agent
एसएसएच सार्वजनिक कुंजी को रिमोट में जोड़े जाने तक लोड हो~/.ssh/authorized_keys
।
प्रजनन करना:
# We are about to ssh to localhost, therefore, unauthorized everyone.
$ rm ~/.ssh/authorized_keys
$ eval $(ssh-agent)
# Agent pid 9290
$ ssh-add
# Enter passphrase for /home/uvsmtid/.ssh/id_rsa:
# Identity added: /home/uvsmtid/.ssh/id_rsa (/home/uvsmtid/.ssh/id_rsa)
$ ssh localhost
# Enter passphrase for key '/home/uvsmtid/.ssh/id_rsa':
# uvsmtid@localhost's password:
# NOTE: See password prompt for private key
# (and only then prompt for remote login).
# Why? Isn't the private key is already loaded by `ssh-add`?
$ ssh-copy-id localhost
$ ssh localhost
# NOTE: No password for private key anymore.
# The key is served by `ssh-agent`.
काफी उलझन में है। रिमोट SSH लॉगिन पासवर्ड इस मामले में पर्याप्त होगा।
मैं अनुमान लगा सकता हूं कि यह आपकी निजी कुंजी (जिसे एन्क्रिप्ट की गई निजी कुंजी से जोड़ा गया है) को बिना संबंधित निजी कुंजी के एन्क्रिप्शन पासवर्ड को जाने से रोकता है। यह वैसे भी एक बार-प्रति-दूरस्थ-लॉगिन प्रक्रिया है।