คุณจะยังคงได้รับพรอมต์รหัสผ่านเพื่อถอดรหัสคีย์ส่วนตัวแม้ว่าจะถูกโหลดเข้าไปssh-agent
จนกว่าจะเพิ่มรหัสสาธารณะ SSH ที่สอดคล้องกันในระยะไกล~/.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 ระยะไกลจะเพียงพอในกรณีนี้
ฉันสามารถคาดเดาได้ว่าจะป้องกันการเพิ่มกุญแจสาธารณะของคุณ (ซึ่งจับคู่กับกุญแจส่วนตัวเข้ารหัส) โดยไม่ทราบรหัสผ่านการเข้ารหัสสำหรับกุญแจส่วนตัวที่เกี่ยวข้อง เป็นขั้นตอนการลงชื่อเข้าใช้ครั้งเดียวต่อระยะไกล