Vai al contenuto principale
BlogLinodeGateway SSH di Lish

Gateway SSH Lish

Stiamo lanciando un nuovo gateway SSH Lish che semplifica Lish introducendo un unico punto di accesso a Lish per tutti i Linode, indipendentemente dal loro host o datacenter. Elimina la necessità di password e chiavi SSH per ogni Linode. Il gateway Lish utilizza invece le credenziali di Linode Manager esistenti per l'autenticazione. Si noterà anche un nuovo campo "Chiavi SSH Lish" nella sezione Il mio profilo di Linode Manager, dove è possibile inviare le chiavi pubbliche SSH per autenticarsi a queste nuove caselle del gateway Lish.

Per fornire un piccolo background, Lish è la Linode Shell. Fornisce la possibilità di eseguire operazioni di riavvio e spegnimento, di controllare lo stato di Linode e, soprattutto, di accedere e interagire con la console di Linode in esecuzione. Lish è una console fuori banda, il che significa che è possibile accedervi anche quando la rete di Linode è disabilitata.

In precedenza, ogni Linode richiedeva il proprio nome utente, password e chiavi SSH di Lish. L'accesso a Lish avveniva tramite una connessione SSH diretta al computer host di Linode. Nelle prossime settimane, rimuoveremo completamente l'accesso dell'host dalla rete Internet pubblica e quindi i vecchi metodi di accesso a Lish non funzioneranno più.

Lish-via-SSH negli host cesserà di funzionare venerdì 10 maggio 2013 alle 13:00 EDT. Pertanto, si prega di modificare gli script o gli alias per utilizzare il nuovo gateway Lish.

Quando si accede al nuovo gateway Lish, viene visualizzato un elenco dei Linode e delle loro posizioni, come mostrato di seguito:

$ ssh caker@lish-newark.linode.com
Linodi situati in questo centro dati:
linode2345 Newark, NJ
linode3456 Newark, NJ
linode4567 Newark, NJ

Linodi situati in altri data center:
sandbox Dallas, TX
linode5678 Dallas, TX
[caker@lish-newark.linode.com]#

Quindi, al prompt dei comandi, si può inserire il nome del Linode a cui si vuole effettuare la connessione Lish. Nell'esempio mostrato sopra, si può inserire "linode2345" per accedere alla console Lish di linode2345. Una volta che si è su un Linode specifico, Lish funzionerà come sempre. Quando si esce da Lish di linode2345, si torna al menu del gateway.

Si possono anche usare trucchi come questo per evitare il menu:

$ ssh -t caker@lish-newark.linode.com linode2345

E come questo per inviare comandi direttamente al Lish di un Linode:

$ ssh -t caker@lish-newark.linode.com linode2345 logview

Abbiamo installato gateway Lish in tutti e sei i data center. È possibile utilizzare qualsiasi gateway per raggiungere qualsiasi Linode, ma si consiglia di utilizzare quello geograficamente più vicino a voi o ai vostri Linode. Ecco le scatole dei gateway Lish:

  • lish-tokyo.linode.com
  • lish-fremont.linode.com
  • lish-dallas.linode.com
  • lish-atlanta.linode.com
  • lish-newark.linode.com
  • lish-london.linode.com

Le caselle gateway Lish sono accessibili sia tramite IPv4 che IPv6. Il metodo Ajax per connettersi al Lish di Linode non è influenzato da queste modifiche.

Buon divertimento!
-Chris


Commenti (33)

  1. Author Photo
    Artem Russakovskii

    Absolutely fantastic. Just cleaned out all the old LiSH connections and added the single one that works like a charm.

    One question though: once you’re inside a specific host, can you back out to the main list?

  2. Christopher Aker

    Yes. Control-a then d like normal to get you out of the console and back to the Lish prompt for that Linode. Then if you exit there, you will end up back at the gateway’s menu.

  3. Author Photo

    Is this update related to the recent security breach?

    Ideally for me, there’d be a way to have credentials to access LISH and credentials to access the dashboard being different.

  4. Author Photo

    Excellent! Time to get updated on everything, though I have a question:

    What is the RSA fingerprint(s) for the new consoles? All I can find in my Profile or Linode Remote Access settings are the old per-Linode lish fingerprints.

    Thanks!

  5. Author Photo

    I like this. One thought: ‘logout’ and/or ‘exit’ would be handy as valid commands at the LISH gateway, as they are on the LISH host.

  6. Author Photo

    It looks like you’ve taken away the option to connect to lish via ports 443 and 2200.
    443 was especially useful when behind some firewalls, please can you re-instate access on those ports?

  7. Author Photo

    It would be nice if the SSH fingerprints for the gateway servers were published somewhere, like is currently done for the host machine fingerprints.

  8. Author Photo
    Raffaele Tripodo

    I’ve just changed every password, regenerated API key and copied my ssh key from the deprecated “Lish via SSH Keys” box to the appropriate box into my profile.
    Everything work well, but the new lish console return an error if I try to connect directly to my node.
    I mean if I proceed step by step everything work well:

    1) ssh lishserveraddress
    2) type the name of the node
    3) login prompt of my node, OK!

    but I get an error message If I try the “short” version adding the name of the host to the command:

    – ssh lish-london.linode.com NAMEOFMYNODE

    Error:
    Linode Shell (lish) Console starting…
    [linode1234567890@london123456 lish] Must be connected to a terminal.
    Your Linode isn’t running, or another console session is already active.
    /bin/stty: standard input: Inappropriate ioctl for device
    [linode30368@london522 lish]# /bin/stty: standard input: Inappropriate ioctl for device
    /bin/stty: standard input: Inappropriate ioctl for device

    Curiously if I add a command (ex. kill, or shutdown) it works well:

    1) ssh lish-london.linode.com NAMEOFMYNODE kill
    2) OK, it works…

    Do I have to set anything else to have it working?
    For me it’s not a problem because I can reach the login prompt of my node (my main need), but just to understand if I have done something wrong or incomplete, or if there is a persistent problem in the new lish console system.

    Thank you

  9. Author Photo

    Raffaele Tripodo: Use the -t option:

    ssh -t lish-london.linode.com NAMEOFMYNODE

    Otherwise, ssh won’t allocate a tty.

  10. Author Photo

    Any chance to bring back the use of a private key? I used a private key to secure up Lish access because it allowed an alternate way that wasn’t secured the same as my SSH connections and I had the old Lish use private keys for authentication.

  11. Christopher Aker

    Robert you can supply any key you want for Lish on your My Profile page – it doesn’t need to be the same identity as your other ssh sessions.

  12. Author Photo

    Will there eventually be a permission in the manager to allow/disallow users from accessing the Lish console? I don’t necessarily want our billing users accounts having the ability to reboot servers.

  13. Author Photo

    How do I create a simple ssh_config entry? I’ve got RequestTty but can’t figure out how to send ‘linode54321’ without having to specify it on the command line.

  14. Author Photo

    Do the gateways also listen on port 443? So far I have been unable to connect on that port, but it works fine if I connect to the Lish on my host.

  15. Author Photo
    Raffaele Tripodo

    @Ryan Tucker

    It works great! Thank you.

  16. Author Photo

    Please allow us to connect on port 443! This was a great feature.

  17. Author Photo

    @caker —
    The public key authentication method only appears to work for the depreciated method. On the depreciated method I get this:
    Using username “linode180478”.
    Authenticating with public key “rsa-key-20120901”
    Passphrase for key “rsa-key-20120901”:

    However on the new method I only get this:
    Using username “shinji”.
    Server refused our key
    shinji@lish-newark.linode.com‘s password:

    I use PuTTY for connecting to Lish via SSH.

  18. Christopher Aker

    Robert: I think this is what you’re hitting: A gateway caches used credentials for a few minutes. So newly deployed keys won’t work for a few minutes until the cache expires. It’s a gotcha and we’re thinking about how to make it better. Give it a shot on a different gateway, or wait 10 minutes.

  19. Christopher Aker

    Not listening on 443 is a gotcha as well. We are also working on that, too. Thanks for the suggestions!

  20. Author Photo

    It looks like the new method of connecting to lish uses different host keys than the old one. The “Deprecated Lish methods” section lists different host keys than I’m seeing for the new “Lish via SSH” method. The new method should also list the host key fingerprints, or they should be listed somewhere and linked from the new section on the “Remote access” page.

    -Mike

  21. Author Photo
    Ben Stoutenburgh

    @esm, there are no options that can be put in ~/.ssh/config to execute remote commands (at least none that I can find and stackexchance threads saying the same).

    You can create bash aliases though to get the simplification you are looking for. alias somecmd=’ssh -t user@lish-newawk.linode.com linode54321′

    Stick that in your .bashrc or wherever you like aliases

  22. Author Photo

    Hello. Will the permissions be adjusted for sub accounts, so it is possible to manage who have access to what Linodes via lish?

  23. Christopher Aker

    Kristoffer – Like everything else in our system, the Lish gateways use the grants system as defined in the Linode Manager. If a user has the ‘Access’ grant on a Linode, that will include access to that Linode’s Lish via the gateway. No ‘access’ grant on a particular Linode means the user won’t have lish access to that Linode, and it won’t show up in the list.

  24. Author Photo

    caker: To securely login via SSH, we need you to publish the fingerprints. For each of these hosts
    lish-tokyo.linode.com
    lish-fremont.linode.com
    lish-dallas.linode.com
    lish-atlanta.linode.com
    lish-newark.linode.com
    lish-london.linode.com

    Please run the following command
    ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub; ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub; ssh-keygen -l -f /etc/ssh/ssh_host_dsa_key.pub

    and post the results here and in the Linode Manager.

    These are the fingerprint Denham Crafton, Courtney Bane, Mike Doherty and also asking for.

  25. Christopher Aker

    Hey Alex – understood – we’ll be adding them shortly along with the other fixes mentioned above. Hang tight!

  26. Author Photo

    @caker at first I wasn’t putting the pub key in the right spot. I figured it out when I re-read the post and it said to put it in “My Profile” XD

    Working now. Thanks!

  27. Christopher Aker

    Lish gateway ssh fingerprints are now linked from the Remote Access subtab, and are listed on the Lish library article.

  28. Author Photo

    Nice, though rest of the Library article needs a major update.
    And if I may ask a stupid question…
    “””
    Unrecognized command.
    You may use ‘list’ to list Linodes or specify a Linode label to connect.
    “””
    Is there a precaution against an unfortunate user labelling his Linode “list”? 🙂

  29. Christopher Aker

    Wojciech – the doc is being reworked – should be updated very soon. A Linode with a label of ‘list’ will preempt the list.

  30. Christopher Aker

    The Lish guide has been updated.

  31. Author Photo

    “Lish is useful both for issuing commands like reboot and shutdown to your Linode, and accessing statistics. Statistics include a list of pending jobs (e.g. jobs) and reports on your current Input/Output Status (io_status).”

    io_status isn’t included in LISH integrated help, but it exists as a command, seemingly a no-op…

    Teaser? 🙂

  32. Author Photo

    Ben,

    Had the same issue with no remote command support in ssh_config so I requested it: https://bugzilla.mindrot.org/show_bug.cgi?id=2103

    Caker, great work and thanks for updating the Lish guide.

    This mass ssh access scenario is a good case for using SSHFP DNS entries ( rfc4255 / rfc6594 ) for the fingerprints (and a ssh_config containing the following for users:
    host lish-*.linode.com
    VerifyHostKeyDNS ask
    )

  33. Author Photo

    I successfully log in to ssh after mentioning my Linode but its asking local host login again.

    If anyone can guide me?

Lascia una risposta

Il vostro indirizzo e-mail non sarà pubblicato. I campi obbligatori sono contrassegnati da *