2016-11-10 17 views
0

私はこのnode.jsを初めて使用しており、Windowsのリモートサーバにシェルコマンドを実行するためにsimple-sshモジュールを使用しています。
私のコードを実行するたびに、コンソールは私に[Error: Authentication failure. Available authentication methods: publickey,gssapi-keyex,gssapi-with-mic,password,keyboard-interactive]と呪われます。
私はすでにRSAプライベートキーファイルを入れて、Windows ENV variableSSH_AUTH_SOCKを設定しました。しかしそれでも、それはエラーを与え続けます。以下
は、私は単純にsshのために書いたコードスニペットです:node.js(simple-sshモジュール)でSSHエージェントフォワーディングを設定する方法は?

var ssh = new SSH({ 
        host: sshHost, 
        user: 'root', 
        timeout: 11000000, 
        key: require('fs').readFileSync("D:/Keys_pair_prvt_pub/rsa_key"), 
        agent: process.env.SSH_AUTH_SOCK, 
        agentForward: true 
       }); 

私はそれは私にエラーを与えている、私の窓からの遠隔はCMD-プロンプトSSHにしようとしています:

$> ssh -A <myRemote.host.com> 
ssh : The term 'ssh' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the 
spelling of the name, or if a path was included, verify that the path is correct and try again. 

私は何か不足していますか?はいの場合、どのようにこれを克服するのですか?
ご了承ください。
ありがとうございました。

+0

これはPowerShellとどのように関連していますか? –

+0

は、SSHコマンドがpowershellで動作しないためです。 Windows PowerShellからssh -Aコマンドを実行するために何かをインストールする必要がありますか? – aiman

+0

PowerShellとCMD(コマンドプロンプト)は別のものです。また、なぜnode.js変数がPowerShell(またはCMD)で動作すると思われますか? –

答えて

0

キーが機能するには、サーバの〜/ .ssh/authorized_keysに鍵を追加する必要があります。

MSCDEXのNPMパッケージSSH2、単純にsshのラップは、Windows上でssh.agentを使用するためのドキュメントでこれを持っている:

`エージェント - 文字列 - パスのssh-agentベース用のssh-agentのUNIXソケットへユーザ認証。 Windowsユーザ:cyantwinの "UNIXソケット"へのPageantまたは(実際の)パスで認証するには、 'pageant'に設定します。

関連する問題