我很高兴使用Ubuntu 9(无选择),我在其上安装了Node.js.
我想使用SCP(通过ssh复制文件)。所以我做了一点节点魔术:
scpHandler = require('child_process').spawn('scp',['root@192.168.2.16:/user/MyDocs/smsOut.txt', 'smsOut2.txt']);
然后似乎有问题 - ssh需要密码,我不能通过authorization_keys省略该问题,因为它们不会在这个特定设备(Maemo)上工作。
所以我想 - 好吧,我将只使用流写作,它将解决所有问题:
scpHandler.stdout.on('data', function(data){
console.log(data);
scpHandler.stdin.write('password');
scpHandler.stdin.write('String.fromCharCode(13)');
});
在scp显示任何消息后它应该反映写入密码(并且它会立即询问密码)但是,正如你现在可以猜到的那样,出现问题并且没有发生任何事情。当sc获得正确的密码时,应该在成功/不成功转移后显示一些数据,但它仍然等待密码...请帮助,任何想法有什么问题?
答案 0 :(得分:2)
问题解决了:在这种情况下,使用setTimeout进行等待,使用pty.js进行欺骗终端似乎没问题。