arunoda / meteor-up-legacy

Production Quality Meteor Deployments
MIT License
2.26k stars 395 forks source link

unable to access logs on mup, ssh working #409

Open mattiLeBlanc opened 9 years ago

mattiLeBlanc commented 9 years ago

Hi, I am unable to access the logs of our MUP deployment.

The error I get is `

Meteor Up: Production Quality Meteor Deployments

events.js:72 throw er; // Unhandled 'error' event ^ Error: All configured authentication methods failed at tryNextAuth (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/lib/client.js:290:17) at SSH2Stream.onUSERAUTH_FAILURE (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/lib/client.js:469:5) at SSH2Stream.emit (events.js:98:17) at parsePacket (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:3649:10) at SSH2Stream._transform (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:555:13) at SSH2Stream.Transform._read as __read at SSH2Stream._read (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:213:15) at SSH2Stream.Transform._write (_stream_transform.js:167:12) at doWrite (_stream_writable.js:226:10) at writeOrBuffer (_stream_writable.js:216:5) `

I am positive my SSH connection works, I am able to login with SSH. My colleague set up the MUP, and I also tried his key, still same error. When he creates a new key he can connect without issue. So it is related to my macbook? We update NPM to the latest stable version. Really weird.

Anyone having a suggestion?

splex7 commented 9 years ago

In my case: I use two folder for each sample project. I already set-up and deployed sample project1 however, I tried sample project2 on the same server. then, these error message came up.

Just my case.

The same problem here. I use AWS EC2 ubuntu server and I got the same error message from

$ mup logs -f

events.js:72 throw er; // Unhandled 'error' event ^ Error: All configured authentication methods failed at tryNextAuth (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/lib/client.js:290:17) at SSH2Stream.onUSERAUTH_FAILURE (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/lib/client.js:469:5) at SSH2Stream.emit (events.js:98:17) at parsePacket (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:3649:10) at SSH2Stream._transform (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:555:13) at SSH2Stream.Transform._read as __read at SSH2Stream._read (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:213:15) at SSH2Stream.Transform._write (_stream_transform.js:167:12) at doWrite (_stream_writable.js:225:10) at writeOrBuffer (_stream_writable.js:215:5)

Danappelxx commented 9 years ago

Having the same issue (with the same error) trying to deploy on a digitalocean vps running ubuntu 14.04 64 bit (if it matters). I can also ssh but running

mup setup

is throwing an error

x5engine commented 9 years ago

same problem

arunoda commented 9 years ago

Could you try mupx: https://github.com/arunoda/meteor-up/tree/mupx# We fixed these issues on it.

Make sure to use Ubuntu 14.04 or higher.

mattiLeBlanc commented 9 years ago

How about osX Yosemite? Does it work with that too?

mattiLeBlanc commented 9 years ago

I still get the following message:

[user@Mleblance-MBP: ~/www/project-aegis]$ mupx logs -n 300

Meteor Up: Production Quality Meteor Deployments
------------------------------------------------
Configuration file : mup.json
Settings file      : settings.json

events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: All configured authentication methods failed
    at tryNextAuth (/usr/local/lib/node_modules/mupx/node_modules/nodemiral/node_modules/ssh2/lib/client.js:290:17)
    at SSH2Stream.onUSERAUTH_FAILURE (/usr/local/lib/node_modules/mupx/node_modules/nodemiral/node_modules/ssh2/lib/client.js:469:5)
    at SSH2Stream.emit (events.js:110:17)
    at parsePacket (/usr/local/lib/node_modules/mupx/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:3649:10)
    at SSH2Stream._transform (/usr/local/lib/node_modules/mupx/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:555:13)
    at SSH2Stream.Transform._read [as __read] (_stream_transform.js:179:10)
    at SSH2Stream._read (/usr/local/lib/node_modules/mupx/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:213:15)
    at SSH2Stream.Transform._write (_stream_transform.js:167:12)
    at doWrite (_stream_writable.js:301:12)
    at writeOrBuffer (_stream_writable.js:288:5)
[user@Mleblance-MBP: ~/www/project-aegis]$ 
arunoda commented 9 years ago

If you are trying to deploy to a OS X box. Sorry it doesn't work. On 2015 මැයි 21, බ්‍රහස් at පෙ.ව. 9.33 mattiLeBlanc < notifications@github.com> wrote:

I still get the following message: ` [user@Mleblance-MBP: ~/www/project-aegis]$ mupx logs -n 300 Meteor Up: Production Quality Meteor Deployments

Configuration file : mup.json Settings file : settings.json

events.js:85

throw er; // Unhandled 'error' event ^ Error: All configured authentication methods failed

at tryNextAuth (/usr/local/lib/node_modules/mupx/node_modules/nodemiral/node_modules/ssh2/lib/client.js:290:17) at SSH2Stream.onUSERAUTH_FAILURE (/usr/local/lib/node_modules/mupx/node_modules/nodemiral/node_modules/ssh2/lib/client.js:469:5) at SSH2Stream.emit (events.js:110:17) at parsePacket (/usr/local/lib/node_modules/mupx/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:3649:10) at SSH2Stream._transform (/usr/local/lib/node_modules/mupx/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:555:13) at SSH2Stream.Transform._read as __read at SSH2Stream._read (/usr/local/lib/node_modules/mupx/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:213:15)

at SSH2Stream.Transform._write (_stream_transform.js:167:12)

at doWrite (_stream_writable.js:301:12) at writeOrBuffer (_stream_writable.js:288:5) [user@Mleblance-MBP: ~/www/project-aegis]$

`

— Reply to this email directly or view it on GitHub https://github.com/arunoda/meteor-up/issues/409#issuecomment-104125565.

mattiLeBlanc commented 9 years ago

Hi, interestingly my colleague setup the MUP configuration from his MacBook running the same version of osX. He can even use multiple SSH keys and doesnt run into this auth issue at all. He is using MUP and not MUPX.

Do you want to dig in some logs and post it here?

arunoda commented 9 years ago

You can use it, but I mentioned about the server as OSX. Would you mind checking username, password a bit.

On Thu, May 21, 2015 at 9:38 AM mattiLeBlanc notifications@github.com wrote:

Hi, interestingly my colleague setup the MUP configuration from his MacBook running the same version of osX. He can even use multiple SSH keys and doesnt run into this auth issue at all. He is using MUP and not MUPX.

— Reply to this email directly or view it on GitHub https://github.com/arunoda/meteor-up/issues/409#issuecomment-104126349.

mattiLeBlanc commented 9 years ago

Oh sorry, I might have confused you. Our server is Ubuntu, but I am trying to connect from osX. My colleague also set it up from his osX machine onto our Ubuntu box. However, I am not able to connect to the mup installion. I can SSH to the server, so SSH is working fine. I have my basekey in my .shh folder as set in the config.

arunoda commented 9 years ago

Hmm. That might be the case. You need to give the key to mup itself. It does not use your local SSH configuration.

It's uses a native JS SSH solution.

On Thu, May 21, 2015 at 9:46 AM mattiLeBlanc notifications@github.com wrote:

Oh sorry, I might have confused you. Our server is Ubuntu, but I am trying to connect from osX. My colleague also set it up from his osX machine onto our Ubuntu box. However, I am not able to connect to the mup installion. I can SSH to the server, so SSH is working fine. I have my basekey in my .shh folder as set in the config.

— Reply to this email directly or view it on GitHub https://github.com/arunoda/meteor-up/issues/409#issuecomment-104129312.

mattiLeBlanc commented 9 years ago

okay, let me look into that. I haven't played to much with it, just learning to work with and than ran into this issue. I'll report back.

mattiLeBlanc commented 9 years ago

Our config looks like this:

{
  "servers": [
    {
      "host": "--------',
      "username": "-----",
      "pem": "~/.ssh/base_key",
      "sshOptions": { "Port" : ------ }
    }
  ],
  "setupMongo": false,
  "setupNode": true,
  "nodeVersion": "0.10.36",
  "setupPhantom": true,
  "appName": "------",
  "app": ".",
  "ssl": {
    "pem": "./ssl.pem",
    "backendPort": 80
  },
  "env": {
    "PORT": ----,
    "ROOT_URL": "--------",
    "MONGO_URL": "---------------",
    "MONGO_OPLOG_URL": "-------------------",
    "MAIL_URL": "-------------------"
  },
  "deployCheckWaitTime": 10
}

I have a basekey in my .ssh folder which is a copy of my private key. I can login to SSH with that key, so it is valid. My co-worker has the same setup, with the base_key and he has access.

Am I forgetting something? Are there any possible right issues on the base_key?

arunoda commented 9 years ago

Yep a bit. Change sshOptions Port to port

On Thu, May 21, 2015 at 9:55 AM mattiLeBlanc notifications@github.com wrote:

Our config looks like this:

{ "servers": [ { "host": "--------', "username": "-----", "pem": "~/.ssh/base_key", "sshOptions": { "Port" : ------ } } ], "setupMongo": false, "setupNode": true, "nodeVersion": "0.10.36", "setupPhantom": true, "appName": "------", "app": ".", "ssl": { "pem": "./ssl.pem", "backendPort": 80 }, "env": { "PORT": ----, "ROOT_URL": "--------", "MONGO_URL": "---------------", "MONGO_OPLOG_URL": "-------------------", "MAIL_URL": "-------------------" }, "deployCheckWaitTime": 10 }

I have a basekey in my .ssh folder which is a copy of my private key. I can login to SSH with that key, so it is valid. My co-worker has the same setup, with the base_key and he has access.

Am I forgetting something? Are there any possible right issues on the base_key?

— Reply to this email directly or view it on GitHub https://github.com/arunoda/meteor-up/issues/409#issuecomment-104130522.

mattiLeBlanc commented 9 years ago

Yes that was it!!! Thanks.

Funny that it works for my co-worker with 'Port' instead of 'port'. Really weird.

But thanks! So it works for mup now, I dont need mupX

arunoda commented 9 years ago

Great. On 2015 මැයි 21, බ්‍රහස් at පෙ.ව. 10.00 mattiLeBlanc < notifications@github.com> wrote:

Yes that was it!!! Thanks.

Funny that it works for my co-worker with 'Port' instead of 'port'. Really weird.

But thanks! So it works for mup no, I dont need mupX

— Reply to this email directly or view it on GitHub https://github.com/arunoda/meteor-up/issues/409#issuecomment-104131028.

x5engine commented 9 years ago

i still have the same issue, using it from ubuntu 14.02 to deploy into another ubuntu 14.02 server

yes i'm using mupx same error

i don't have any custom port since i'm using EC2

x5engine commented 9 years ago

i used mup on digital ocean with a password instead of a pem key and it worked i think there is a problem with the pem auth ?

mattiLeBlanc commented 9 years ago

Pem is working fine for me. How about creating your own pub and private key and upload the pub key the server and put in the authorized_keys and than reference your private key in the mup.json. Does that work? Or are you already doing that?

x5engine commented 9 years ago

thanks for reply. yes i have pem correctly set and i connect with from ssh. and when i refrence it in the config file then try to deploy it throws the error in this page about ssh2.js my pem key is not corrupted.

mattiLeBlanc commented 9 years ago

can you post your config file? with all the sensitive data blanked out? That helped solve my issue because I had an irregularity in my file

x5engine commented 9 years ago

okay here it's

{
  // Server authentication info
  "servers": [
    {
      "host": "xxx.xxx.xxx.xxx",
      "username": "myusername",
    //"password": "password"
      // or pem file (ssh based authentication)
      "pem": "../fg.pem"
    }
  ],

  // Install MongoDB in the server, does not destroy local MongoDB on future setup
  "setupMongo": true,

  // WARNING: Node.js is required! Only skip if you already have Node.js installed on server.
  "setupNode": true,

  // WARNING: If nodeVersion omitted will setup 0.10.36 by default. Do not use v, only version number.
  "nodeVersion": "0.10.25",

  // Install PhantomJS in the server
  "setupPhantom": true,

  // Show a progress bar during the upload of the bundle to the server. 
  // Might cause an error in some rare cases if set to true, for instance in Shippable CI
  "enableUploadProgressBar": true,

  // Application name (No spaces)
  "appName": "meteor",

  // Location of app (local directory)
  "app": "/home/ubuntu/myapp",

  // Configure environment
  "env": {
    "ROOT_URL": "http://domain.com"
  },

  // Meteor Up checks if the app comes online just after the deployment
  // before mup checks that, it will wait for no. of seconds configured below
  "deployCheckWaitTime": 30
}
mattiLeBlanc commented 9 years ago

Only question I would have looking at your config is : is the path to the PEM correct? If you are using osx: drag the pem file into the terminal to get the full path or place it in your home folder, under ~/.ssh/fg.pem If windows, I have no clue to be honest.

I am not using Digital Ocean but the free tier EC2 from amazon (one year free service) and the installation was as simple as on this youtube movei: https://www.youtube.com/watch?v=11K_DSrhJzQ

x5engine commented 9 years ago

Yes the path is correct, the fg.pem is located in the parent folder where the mup.json is located

I'm using Ubuntu 14 in EC2 (yes a free tier :) )

and have also the digital ocean (if you want i can send you $10 credit to test it out ) it's pretty fast and easy in digital ocean.

for the pem it didn't work may be the file wasn't uploaded correctly ? using sftp

mattiLeBlanc commented 9 years ago

Did you try the PEM that amazon gives you when you first create the server instance? That one worked for me too. But then I added my own to authorized_keys. I don't upload it, but SSH't into the server and add it there.

Just assuming you don't know how to do this (otherwise ignore this block); go to the home folder on your server and then in .ssh folder. There you will find the authorized_keys file and just use VI or nano to edit it. (get the source of your public key by opening terminal, go to ~/.ssh and then use command 'cat yourpublickey.pub'. It should start with ssh-rsa... Copy the whole string.) In the file, add a new line and then paste in your public key value (so there will be a whitespace between the keys). Now to public key should be registered correctly and you should be able to reference your private key in your mup.json file.

Hope this was of any help and didn't insult you :)

x5engine commented 9 years ago

Thank you for the help :) I didn't add my public keys since i'm doing mup from server 1 to server 2 (one used for dev and the other for production ) So may be this way, i have to add the public keys of prod into authorised keys in dev server ?

mattiLeBlanc commented 9 years ago

Yes, I do think you have to create a set of keys on server A, pub and private if you MUP from server A to B, you need to add the pub key of server A into the authorized_keys of server B.

I think this would be the same as going from dev laptop to server (like in my case).

Just to be sure, some guides to making they keys etc (simple): http://coolestguidesontheplanet.com/make-passwordless-ssh-connection-osx-10-9-mavericks-linux/ https://help.github.com/articles/generating-ssh-keys/

x5engine commented 9 years ago

okey thank you :)

Here is your $10 credit on digital ocean bro :

www.digitalocean.com/?refcode=8a57febeb259

mattiLeBlanc commented 9 years ago

oh I am good thanks. But anyone else can use it if they want. I am happy with AWS :). Did it fix your issue?

ChenRoth-old commented 9 years ago

hey

I've just upgraded to the latest version (0.10.7) and I can't use mup setup anymore, where I get the same error originally posted in this issue

I'm using Ubuntu 14.10, trying to deploy to 14.04 servers on AWS, which in the past caused no problems As for SSH, it works (from console) and I use the same username and .pem file

Unfortunately, I don't know which version I've had before the upgrade

EDIT: I empirically installed mup@0.9.7 and it works again. I guess there's a bug introduced in the newer version

Here's my mup.json (redacted):

{
  // Server authentication info
  "servers": [
    {
      "host": "xx.xx.xx.xx",
      "username": "ubuntu",
      "pem": "~/.ssh/x.pem"

    }
  ],

  "ssl": {
    "pem": "./ssl.pem"

  },

  "setupMongo": false,

  "setupNode": true,

  "nodeVersion": "0.10.36",

  "setupPhantom": true,

  "enableUploadProgressBar": true,

  "appName": "xxx",

  "app": "~/code/xxxx",

  "env": {
    "ROOT_URL": "http://xxx",
    "MONGO_OPLOG_URL": "xxxxx",
    "MONGO_URL": "xxxx",
    "NODE_ENV": "development"
  },

  "deployCheckWaitTime": 15
}
arvi commented 9 years ago

Hi @ChenRoth, I have the same issue as yours. I would like to know what command you type to revert your meteor up version? After updating mup, I'm getting this error when trying to do mup setup or mup deploy from my local OS X machine to Digital Ocean's Ubuntu 14.04 x 32.

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: All configured authentication methods failed
    at tryNextAuth (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/lib/client.js:290:17)
    at SSH2Stream.onUSERAUTH_FAILURE (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/lib/client.js:469:5)
    at SSH2Stream.emit (events.js:98:17)
    at parsePacket (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:3649:10)
    at SSH2Stream._transform (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:555:13)
    at SSH2Stream.Transform._read [as __read] (_stream_transform.js:179:10)
    at SSH2Stream._read (/usr/local/lib/node_modules/mup/node_modules/nodemiral/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:213:15)
    at SSH2Stream.Transform._write (_stream_transform.js:167:12)
    at doWrite (_stream_writable.js:226:10)
    at writeOrBuffer (_stream_writable.js:216:5)

P.S I tried other suggestions I found like adding "sshOptions": { "port" : 22 } or using mupx but receiving same error that's why I'd like to try reverting to an old meteor up version.

MasterJames commented 9 years ago

So you want maybe something like... npm install package>@<version Also see... http://github.com/arunoda/meteor-up/releases

MasterJames commented 9 years ago

Format is package@version So npm remove -g mup npm install -g mup@1.4.0 4 an example

flanamacca commented 8 years ago

I have found with these - where your private key is something you might have on your .ssh directory, the solution is to add a pem mrecord that points to your key

"pem": "~/.ssh/my_key",

JonnatasCabral commented 8 years ago

try to remove a ssh permission and put a username and password of a sudo user