Я пытаюсь автоматизировать задачу копирования файлов с одного хоста на другой. Прежде всего, я создаю пару секретный-открытый ключ со своего собственного компьютера (без ключевой фразы) и загружаю открытый ключ, скажем, для принимающего хоста B, в ~/.ssh/authorized_keys используя пароль. После этого я проверяю, что могу получить доступ к B через ssh, и он работает нормально. Затем я копирую свой закрытый ключ на хост A, который является отправителем. Я пытаюсь скопировать файл, используя scp scp -i ~/.ssh/my_private_key test.png root@x.x.x.x:/root/test.png , но он запрашивает у меня пароль, хотя я уверен, что я не установил никакой парольной фразы. Я также попытался использовать ключ с парольной фразой, и он не принял его.

Когда я создаю закрытый-открытый ключ непосредственно в A, он работает. Связано ли это с перемещением закрытого ключа с одного хоста на другой? Любой обходной путь для этого? (В моем случае я буду использовать закрытые ключи от конечных пользователей, поэтому они определенно не будут созданы локально).

1 ответ1

0

Вам никогда не нужно копировать закрытый ключ.

Глядя на команду, на которую вы ссылались:

scp -i ~/.ssh/my_private_key test.png root@x.x.x.x:/root/test.png

Для работы вам понадобится открытый ключ, соответствующий my_private_key который будет находиться в файле authorized_keys ключах на удаленном сервере. Поскольку вы отправляете root, он должен быть в файле authorized_keys root пользователя root.

Возможно, вы захотите установить и использовать пакет цепочки для ключей , который находится в репозитории многих дистрибутивов Linux. Когда он установлен и вы создаете каталог ~/.keychain , вам будет предложено ввести пароль только при первом входе в систему после загрузки. Вы можете выйти и войти снова, и вам не будет предложено, потому что расшифрованный ключ хранится в памяти.

Если вы хотите, чтобы задания cron копировали файл без пароля, они могут использовать источник ~/.keychain${HOSTNAME}-sh .

Кроме того, вы можете использовать ssh-agent , но вам нужно будет вводить вашу фразу-пароль каждый раз, когда вы входите в систему.

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