SCP по SSH без пароля - не может заставить это работать

У меня есть сервер Ubuntu 16.04 с SSH, я настроил пару ключей, таким образом, я могу SSH в удаленной системе без пароля, это хорошо работает.

Я пробую к SCP от Локального (system1) к там удаленному (system2), SCP хорошо работает, но просит пароль. Я хочу использовать пару ключей для копирования non-autheticated.

Я следовал многочисленным руководствам от сети о том, как сделать это, но это в основном кажется, сводится к следующему:

scp -i <path the PRIVATE key file>  filetocopy  user@remote.co.uk:~

Все, что я могу найти в Интернете, говорит, что это должно работать - но это продолжает просить пароль для удаленной (2-й) системы, даже при том, что я знаю работы пары ключей хорошо, потому что я могу использовать его для SSH.

Раздражающе - та же команда как выше будет работать отлично без запроса пароля, если выполнено как корень - или посредством 'sudo' или от поднятого терминала...

так:

sudo scp -i <path the PRIVATE key file>  filetocopy  user@remote.co.uk:~

Хорошо работает, но:

scp -i <path the PRIVATE key file>  filetocopy  user@remote.co.uk:~

не делает.

Нет никаких файлов в .ssh папке корней за исключением known_hosts файлов (т.е. никакие файлы ключей)

Что мне делать?

1
задан 18 October 2017 в 15:33

3 ответа

Кажется, что Вы скопировали root ключ к удаленному серверу, в то время как ключ обычного пользователя не был скопирован правильно.

ssh и scp должен предоставить той же обратной связи (различие login-into-remote-server по сравнению с copy-file-into-remote-server)

, Когда пара ключей будет скопирована как требуется в удаленный сервер, эти scp, команда будет:

scp local-file-name user@remote-host:/full/path/remote-file-name
<час>

для копирования пользовательского ключа к удаленному серверу, можно использовать Примечание ssh-copy-id

: необходимо заменить mykey в ниже команды с именем файла файла ключей

Копия ключ к серверу

, После того как ключ SSH был создан, команда ssh-copy-id может использоваться для установки его, поскольку авторизованное включает сервер. После того как ключ был авторизован для SSH, он предоставляет доступ к серверу без пароля.

Использование команда как следующее для копирования ключа SSH:

ssh-copy-id -i ~/.ssh/mykey user@host

Это входит в хост сервера, и копирует ключи к серверу и настраивает их для предоставления доступа путем добавления их к authorized_keys файлу. Копирование может попросить пароль или другую аутентификацию для сервера.

Только открытый ключ копируется в сервер. Закрытый ключ никогда не должен копироваться в другую машину.

Тест новый ключ

Однажды ключ был скопирован, лучше тестировать его:

ssh -i ~/.ssh/mykey user@host

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

2
ответ дан 7 December 2019 в 12:31

Необходимо сделать эти после вещей сделать scp по ssh без пароля:

ssh-keygen
[Enter]
[Enter]
[Enter]
cd ~/.ssh
ssh-copy-id -i id_rsa.pub username@serverip/hostname
scp username@serverip:/file/to/copy /directory/to/save

Это будет работать, если Вы получили какую-либо ошибку, обновите.

1
ответ дан 7 December 2019 в 12:31

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

, должно быть, было некоторое неясное повреждение в authorizes_keys файле, возможно, портящем его. Еще раз спасибо.

0
ответ дан 7 December 2019 в 12:31

Другие вопросы по тегам:

Похожие вопросы: