У меня есть сервер 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 файлов (т.е. никакие файлы ключей)
Что мне делать?
Кажется, что Вы скопировали 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
вход в систему должен теперь завершиться, не прося пароль. Обратите внимание, однако, что команда могла бы попросить пароль, который Вы указали для ключа. Поиск и устранение неисправностей
Необходимо сделать эти после вещей сделать 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
Это будет работать, если Вы получили какую-либо ошибку, обновите.
Я отсортировал это - я удалил все свои ключи и файлы ключей от обеих систем и работал посредством процесса установки новых файлов ключей и использования ssh-copy-id для копирования файлов. Это теперь работает отлично.
, должно быть, было некоторое неясное повреждение в authorizes_keys файле, возможно, портящем его. Еще раз спасибо.