Вы все равно получите запрос пароля для расшифровки закрытого ключа, даже если он загружен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 будет достаточно в этом случае.
Я могу предположить, что это предотвращает добавление вашего открытого ключа (который связан с зашифрованным закрытым ключом) без знания пароля шифрования для соответствующего закрытого ключа. В любом случае это однократная процедура удаленного входа.