0
我有一个需要,我必须打开一个服务器的SFTP连接,从那里复制文件到本地。从NodeJS访问SFTP
为此,我曾试图安装使用
npm install node-sftp
节点SFTP模块它没有开箱的,我不得不更换已安装的NPM与github上的sftp.js文件库在这里:https://github.com/ajaxorg/node-sftp
(NPM版本使用TTY和GitHub的版本使用PTY我不知道它们是什么)
启动服务器,调用代码后,我看到这个控制台。
launching: sftp -o Port=22 [email protected]
listening...
控制台只是挂在这里。我试图打开连接后打印当前目录中的所有文件。
这是代码
var http = require('http');
var Sftp = require('node-sftp');
var port = process.env.PORT || 1337;
var msgHandler = function(request, response) {
var options = {
host:"xxx.63.xxx.49",
username:"jash",
password:"mypassword",
port:22
};
var conn = new Sftp(options,function(err){
console.log(err);
});
conn.cd(".", function(err) {
console.log(err);
conn.ls(".", function(err, res) {
console.log(res[0].path);
});
});
console.log("listening...");
}
http.createServer(msgHandler).listen(port);
凭据都很好,我用他们的SecureCRT并能够登录。
谢谢,我试过了,但回调甚至没有被调用...导致我相信连接本身没有建立。我不知道如何调试,为什么它无法连接。 – user2295385
你能运行tcpdump(或wireshark)吗? –