SCP Невозможно скопировать с сервера с закрытым ключом

Я пытаюсь использовать SCP для копирования файла с удаленного VPS, который использует закрытые ключи, на локальную машину.

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

Вот что я пробовал:

scp -i ~/.ssh/private-key root@123.456.78.90:/var/www/html/index.html /var/www/html/

Это запрашивает пароль закрытого ключа, затем выдает error / var / www / html - это каталог.

scp -i ~/.ssh/private-key root@123.456.78.90:/var/www/html/index.html root@localhost:/var/www/html/

Запрашивается пароль закрытого ключа, затем сообщается Ошибка проверки ключа хоста. потеряна связь.

scp -i ~/.ssh/private-key root@123.456.78.90:/var/www/html/index.html root@192.168.1.142:/var/www/html/

Это просто дает пустой экран, который, казалось бы, длится вечно. Я предполагаю, что это может быть метод, который действительно работает, но может просто копировать невероятно медленно?

Я попытался подключиться к серверу по ssh с тем же ключевым файлом, который работает нормально, поэтому я не уверен, в чем проблема.

Есть ли у кого-нибудь решение , или знает, что делаю не так? Спасибо

0
задан 22 September 2017 в 14:02
3 ответа

Для первой ошибки - попробуйте указать имя файла - как говорится в сообщении об ошибке, вместо / var / www / html укажите место назначения как /var/www/html/index.html.

Вторая ошибка звучит так, будто сервер, с которого вы пытаетесь скопировать, изменил свой открытый ключ с момента последнего доступа. Если это так (и вы уверены, что это не нарушение безопасности), используйте ssh-keygen -R host , чтобы удалить кэшированный ключ; вам будет предложено принять новый ключ при следующей попытке подключения. Однако я думаю, что изменение первого способа должно сработать.

0
ответ дан 5 December 2019 в 18:44

По сути, вам не хватает синтаксиса во всех аспектах. Вы должны сначала проверить синтаксис. Если я хочу скопировать файлы с VPS на локальный сервер, я бы сделал следующее на локальном компьютере.

cd /var/www/html/
scp -i ~/.ssh/private-key -r root@123.456.78.90:/var/www/html/* .

Это скопирует всю папку на мой локальный / var / www / html /

Или, если я передаю данные с моего VPS на мою локальную машину, тогда мне нужно назначить общедоступный IP-адрес моей локальной машине или серверу. А с удаленного VPS я бы сделал что-то вроде ниже.

cd /var/www/html/
scp -i <key_path> -r * root@<my_local_machine_public_ip:~/var/www/html/

ИЛИ Скопируйте в папку / tmp на локальном компьютере с удаленного VPS, как показано ниже.

cd /var/www/html/
scp -i <key_path> -r * root@<my_local_machine_public_ip:~/tmp/
0
ответ дан 5 December 2019 в 18:44

Добавьте следующие параметры в команду scp

-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null
-1
ответ дан 5 December 2019 в 18:44

Теги

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