2015-01-08 3 views
0

I가 SSH2를 사용하여 서버에 SSH 연결을 테스트하는 내 Node.js를 응용 프로그램에 다음 코드 :메이크업은 SSH2 연결 오류 후 종료하지 Node.js를

var Connection = require('ssh2'); 
    var conn   = new Connection(); 
    conn.on('ready', function() { 
     console.log('Connection :: ready'); 
     conn.exec('uptime', function(err, stream) { 
      if (err) throw err; 
      stream.on('exit', function(code, signal) { 
       console.log('Stream :: exit :: code: ' + code + ', signal: ' + signal); 
      }).on('close', function() { 
       console.log('Stream :: close'); 
       conn.end(); 
      }).on('data', function(data) { 
       console.log('STDOUT: ' + data); 
      }).stderr.on('data', function(data) { 
       console.log('STDERR: ' + data); 
      }); 
     }); 
    }).connect({ 
     host: serverIp, 
     port: serverPort, 
     username: serverUsername, 
     privateKey: require('fs').readFileSync('./id_rsa') 
    }); 

그것은 잘 작동하지만 반환하는 경우 오류, 내가 예를 들어 연결 시간 초과는 Node.js를 응용 프로그램 충돌 ...

내가 다음을 수행하고자하는 얻는 경우 : 오류가 반환됩니다

  • 경우, 단순히/서버로 리디렉션을 페이지를 열지 않아도됩니다.

"if (err) throw err;"을 변경하려고했습니다. "if (err) res.redirect ('/ servers');"와 일치하는 행 하지만 작동하지 않습니다 ...

누군가 가이 noobie 질문 도와 드릴까요? 나는 node.js를 처음 사용합니다 :)

고마워요.

+0

아마도'res' 객체에 액세스 할 수 없습니다. 경로 처리기 안에'conn.on ('ready', ..')을 넣어야합니다. – laggingreflex

+0

내 경로 처리기 안에 있으며'res' 객체에 액세스 할 수 있지만 메시지에 감사드립니다. – TehesFR

답변

5

error 이벤트를 수신 :

conn.on('error', function(e) { /* do whatever */ }); 

지금, 프로세스는 연결 오류가 처리되지 않은 것입니다 C/B 충돌합니다.

+0

고마워요. 폴, 힌트! – TehesFR