0

現時点では、nodejs スクリプトに秘密鍵を使用した SFTP 機能を提供するために、node-sftpを使用しようとしています。

ノードの v 0.6 以降、そのモジュールは壊れているようです (tty.open はメソッドではなくなりました)。そこで、子プロセスを使用して sftp コマンドを生成しようとしました。

これで、接続は正常に機能しているように見えます (ftp サーバーのログ @ /var/log/auth.log を確認しました)。また、ノード ウィンドウにいくつかの出力が表示されます...

Permanently added '46.x.x.x' (RSA) to the list of known hosts.
Connected to 46.x.x.x.
Changing to: /home/deploy/somefolder

次のコマンドを使用してコマンド ライン経由で直接接続すると、FTP コマンドを待機しているsftp>のようなプロンプトが表示されます。

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

私が間違っている可能性がある場所について何か提案はありますか?

4

1 に答える 1

0

もう少し詳しく説明しないと言いにくいですが、 https ://github.com/chjj/pty.js/ を見てみましょう。

これにより、読み取りと書き込みが可能な tty デバイスがエミュレートされます。

試した追加のコードを提供できる場合は、より良い方向に向けることができるかもしれません.

https://github.com/ajaxorg/node-sftp.gitから node-sftp モジュールのクローンを作成し、npm の代わりにライブラリを直接使用することもできます。github の最新バージョンはノード バージョンをサポートしているようです。 0.6 より新しい

于 2012-10-29T19:34:17.670 に答える