2

[Хост MacOS 10.12.6, гость Ubuntu 14.04 LTS]

У меня есть локальная установка виртуальной машины, чтобы принимать только аутентификацию publickey. До сих пор я использовал ключ, который требует ввода ключевой фразы, и расположение работает отлично. Однако теперь мне нужно настроить скрипт для автоматического выполнения scp для меня.

Поскольку я не хочу, чтобы сценарий приостанавливал ввод пароля, и не expect будет сделано автоматически, я решил использовать второй ключ, который не имеет парольной фразы.

Мне кажется, что ssh-copy-id не может справиться с этой ситуацией, так как он использует параметр -i чтобы сообщить ему, какой ключ загружать, и поэтому я не могу указать, с каким ключом войти в систему.

Итак, мой вопрос, как заставить ssh-copy-id принять второй ключ, который будет использоваться для входа в систему в первую очередь? Должен ли я использовать ssh-add?

(В свете моего вышеизложенного с ssh-copy-id , я вручную скопировал и добавил ключ в мой файл author_keys.)

2 ответа2

2

ssh-copy-id присоединяет ключи удаленного файла authorized_keys Чтобы добавить несколько конкретных ключей, запустите его один раз для каждого ключа с -i <key-file-name> .

Обновить

После вашего комментария, я думаю, что я неправильно понял ваш вопрос.

Вы хотите использовать один ключ для аутентификации при установке другого на свой сервер.

ssh-copy-id не предлагает опцию командной строки для выбора ключа для аутентификации во время выполнения ssh-copy-id .

Но она проходит -o до ssh Так:

ssh-copy-id -i ~/.ssh/<your-already-existing-id> -o 'IdentityFile ~/.ssh/<your-new-id-to-install>' <servername>

Вы также можете использовать ssh-agent , и в этом случае вам не нужно будет вводить парольную фразу при использовании ssh , scp , ssh-copy-id , aso, пока ssh-agent работает.

1

Использование ssh-add для добавления вашего ключа к агенту определенно является опцией.
В противном случае, я считаю, что вам нужно настроить запись в файле .ssh/config, которая включает опцию IdentityFile, это скажет ssh, как проходить аутентификацию на этом сервере, и позволит ssh-copy-id делать свое дело.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .