Я пытаюсь установить ssh без пароля для себя в системе CentOS6. Я иду через следующие шаги:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
Создаются соответствующие файлы открытого и закрытого ключей, а также авторизованные ключи. Содержимое ~/.ssh/id_dsa.pub показано ниже:
SSH-ДСС AAAAB3NzaC1kc3MAAACBAMtCKpsSeE8DxjvMqCl2S62YGmR/UMXpLH+tOuCiHzITUnB44kTBfh16WGRjAKdoFcrx/xIZBXyP5YTo1rIGzLbIK+LILOyaIe17mVYWgBs5k5WENLQKwQ3W0kaNvkN+uTcGArDl9r6o8oi8Lnox0ldCp/zGsNZuJfUnCOxX0PthAAAAFQD9wyrHwmyjMKWUhva+pwzhkYjbgQAAAIAqxFHO/Cb834Wa+PcNB80PvcPlwKHMrPnPZcEl+INsNmENU+khLe812GMD8GEsLbLxMgVKlFVAGXT0WUhCYpx7VTeawZ6/dOYlOf44Bjn2z6KAPkQaZyfTzF9gcunDdBY3uHJnOnj9c2bNfMPNc46D5cfPbAov/cNNnue2VWsmtwAAAIEAvJxL25YgbwJdwusIwcVMGjoFj8pRjYKFJwOLvfW1N+UI9u1ZCEkNmuRuOCSRgqDhL0Zr7qv11S8GT4sDdMat6xR7Qhw/Q3NwG4XIOJ5hGoHqlwIleE095JPQnmy8/ffn4qOYPql19RGwTM3lynGVIXBxcIEKzdmeoZKWG3ejS+I = admin-cloud@computer.network.net
Однако когда я запускаю команду «ssh computer.network.net» или "ssh localhost", у меня запрашивается пароль (первая проблема). После ввода пароля и установления сеанса ssh я выхожу и проверяю файл ~/.ssh/known_hosts, в котором был кэширован следующий ключ:
локальный SSH-RSA AAAAB3NzaC1yc2EAAAABIwAAAQEApHXsA7mMOtqKO1XotKTk5vM5F1LRoqxLLZw2TVLUA36BrkJAMM1EqfnH3mIoNz6sJzOdmQV2ubYGkzvCUb1TX8wUId1KQki8I1l2S52vFEwHkJlFe+KFQcU4SBtxDRDEvHkiLid0D37V+O3W6ElxhhRjkL+nebFPSFEdDlwBUTzAmR3KPD9zFjLP3JJZrwYH1E1sEl52pHbrcr7ROhfRjtz+3glVog9tJC3Xbfwu74JeywYrKQXbtDV84CJ0FoD6WAtJ+V0Dh8hnyBDkdbBc/zVIEDcXfcVNA4yc2noAHdQQ6p11Q8zW94/aJVhi/t0D9vSVMZP8UbHmnM2RfElIww ==
это ключ RSA, а не ключ DSA, который я сгенерировал (вторая проблема). После некоторых копаний я нашел этот ключ RSA в /etc/ssh/ssh_host_rsa_key.pub.
Почему SSH использует ключи в папке /etc /ssh, а не ключи, которые я сгенерировал в папке ~ /.ssh? Как я могу сказать SSH использовать пару открытого личного ключа в папке ~ /.ssh. Взгляд на man ssh, кажется, указывает на то, что это поведение по умолчанию, но оно явно не происходит.
Заранее спасибо.
ОБНОВИТЬ
Вывод попытки ssh -v localhost является многословным, но я нашел один интересный тидбит:
debug1: Next authentication method: publickey
debug1: Offering public key: /home/admin-cloud/.ssh/id_dsa
debug1: Server accepts key: pkalg ssh-dss blen 434
Agent admitted failure to sign using the key.
debug1: Trying private key: /home/admin-cloud/.ssh/identity
debug1: Trying private key: /home/admin-cloud/.ssh/id_rsa
debug1: Next authentication method: password
Похоже, он нашел мой ключ ~/.ssh/id_dsa, получил подтверждение и затем «Агент признал, что не смог подписать ключ». После этого он ищет ~/.ssh/identity (не существует) и ~/.ssh/id_rsa (не существует), а затем, наконец, просто запрашивает пароль. Есть идеи об этой ошибке?