#scp #handshake
#scp #рукопожатие
Вопрос:
Я использую scp2 для копирования файла в TargetPath. конфигурация содержит хост, имя пользователя, приватный ключ, путь и порт.
const client = require('scp2');
export function scpAsync(config, targetPath) {
return new Promise((resolve, reject) => {
client.scp(config, targetPath, err => {
if (!err){
resolve();
} else {
const errorMessage = err;
reject(errorMessage);
}
});
});
}
При этом я получаю сообщение об ошибке:
Error: Timed out while waiting for handshake
Я пытался передать также
promptForPass: false
но это ничего не изменило. Кроме того, я использовал режим отладки, который сообщал мне, что я подключен к серверу, и я установил более высокое значение setTimeout, но затем ошибка просто появляется позже. Я проверял документацию scp2 и их GitHub. Я использую функцию, как описано там (https://www.npmjs.com/package/scp2 ) и что касается ошибки, они могли бы исправить ее с помощью более высокого setTimeout (https://github.com/spmjs/node-scp2/issues/107 ). Я пробовал с локальным FTP-сервером, ngrok и ftp на экземпляре ec2. Все с той же проблемой.
Я был бы рад получить помощь. Я задал этот вопрос также суперпользователю, но не получил ответа:https://superuser.com/questions/1576964/error-timed-out-while-waiting-for-handshake
Комментарии:
1. Отсутствие ответа не означает, что вы можете просто свободно перепостить… но, вероятно, SO — это правильное местоположение, поскольку вы используете SCP через API. Однако, я думаю, вам нужно было бы привести несколько примеров сбоев общедоступных FTP-серверов, поскольку читатели не могут иным образом доказать, доступны ли ваши собственные серверы. Правильно ли реагируют эти серверы, если вы вызываете SCP в интерактивном режиме из командной строки с теми же конфигурационными и целевыми путями?