目前我正在尝试使用node-sftp,以便为我的nodejs脚本提供使用私钥进行SFTP的功能。
由于v 0.6节点(tty.open不再是方法),该模块似乎已被破坏。 所以我尝试使用子进程并生成我的sftp命令。
现在连接似乎工作正常(我检查了ftp服务器日志@ /var/log/auth.log) 我还可以在Node窗口中看到一些输出...
Permanently added '46.x.x.x' (RSA) to the list of known hosts.
Connected to 46.x.x.x.
Changing to: /home/deploy/somefolder
当我使用以下命令通过命令行直接连接时,它会以 sftp> 等提示结束,等待我的FTP命令
sftp -o Port=22 -o PasswordAuthentication=no -o IdentityFile=private_key -o UserKnownHostsFile=/v/null -o StrictHostKeyChecking=no -o BatchMode=yes deploy@46.x.x.x:/home/deploy/somefolder
有没有人对我可能出错的地方有任何建议?
答案 0 :(得分:0)
如果没有更多细节,很难说,但我会看看: https://github.com/chjj/pty.js/
这将模拟您可以读取和写入的tty设备。
如果您可以提供一些您尝试过的其他代码,我们可能会为您指明一个更好的方向。
您还可以尝试从https://github.com/ajaxorg/node-sftp.git克隆node-sftp模块并直接使用库而不是npm,看起来github中的最新版本支持更新的节点版本0.6