я недавно хотел использовать ssh-ключи вместо паролей для моего сервера (фрагмент Debian). Я использую подсистему человечности в Windows (в случае, если он имеет значение).
Я следовал главному ответу от этого потока: Самый Легкий способ скопировать ssh ключи к другой машине?
Я сделал следующее:
ssh-keygen
и сохраненный их в .ssh/xxx.pub
ssh-copy-id -i .ssh/xxx.pub user@server.tld
После этого шага я получил следующее сообщение:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/xxx.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@tserver.tld's password:
Number of key(s) added: 1
Я даже проверил сервер под ~/.ssh/authorized_keys
существует ключ.
Но все еще когда я пытаюсь соединиться с сервером через:
ssh root@server.tld
Я должен войти в систему с паролем.
У кого-то есть идея, почему это не работает?
Хорошо, таким образом, я должен был указать ключ, который я хочу использовать с '-i'
например.
ssh -i ~/.ssh/mykey user@foo.bar
Править: Можно также добавить файл конфигурации в ~/.ssh/config
и добавьте следующий код
host * IdentityFile ~/.ssh/mykey
затем Вы не должны использовать -i ...
параметр