Я видел этот вопрос и раньше, но ответы всегда казались недостаточно конкретными. У меня возникают проблемы с перемещением некоторых файлов пользовательского интерфейса с моей машины на мой сервер, который находится на Digital Ocean Droplet с Ubuntu 20.04. Я могу нормально подключиться к своему серверу через SSH. У меня настроен пользователь без полномочий root, а открытый ключ RSA моей машины находится в .ssh / authorized_keys на сервере.
Однако, когда я пытаюсь отправить файлы с моего локального компьютера на сервер с помощью SCP
sudo scp -rv path/to/folder user@<ip>:/var/www/html
Я получаю ответ
The authenticity of host <ip> can't be established.
ECDSA key fingerprint is <fingerprint>.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
который говорит о несоответствии отпечатка ключа ECDSA. Я не настроил ключ ECDSA. По умолчанию SCP использует ECDSA? Я даже попытался добавить флаг -i, чтобы напрямую указать файл идентификации (закрытый ключ RSA на моей машине), но это не повлияло на результат.
В некоторых ответах упоминалось, что это происходит при первом подключении к серверу. Однако раньше я подключался к этому серверу через SSH. Отличается ли он при использовании SCP, т.е. считается ли это первым подключением?
1 ответ
Не использовать sudo
— очень редко нужно использовать sudo
с командами, которые подключаются к удаленным серверам, даже если вы подключаетесь к ним как root. Вне всяких сомнений, sudo потребуется только в том случае, если вы хотите передать файлы, которые не принадлежат обычному пользователю или группам, к которым он принадлежит, или запустить собственный ProxyCommand
для этого требуется root.