メインコンテンツにスキップ
ブログLinodeLish SSHゲートウェイ

Lish SSH ゲートウェイ

ホストやデータセンターに関係なく、すべての Linode に対して Lish にアクセスできる単一の場所を導入することで、Lish を簡素化する新しい Lish SSH ゲートウェイを展開します。Linodeごとのパスワードと SSH キーを不要にし、代わりに、Lish ゲートウェイは既存の Linode 認証用のマネージャー資格情報を使用します。また Linode マネージャーの "マイ プロファイル" セクションに新しい "Lish SSH キー" フィールドが表示されます。SSH 公開キーを送信して、これらの新しい Lish ゲートウェイ ボックスに対して自分自身を認証できます。

背景を少し説明すると、Lishは Linode シェルです。ジョブの再起動やシャットダウンを発行し、Linode のステータスを確認する機能を提供します。最も重要なのは、実行中の Linode のコンソールにアクセスして操作できることです。Lish は帯域外コンソールであるため、Linode のネットワークが無効の時にもアクセスが可能です。

以前は、各 Linode が独自の Lish SSH ユーザー名、パスワード、および SSH キーを必要としていました。Lish へのアクセスは、Linode ホストマシンへの直接SSH接続を介してでした。今後数週間のうちに、パブリックインターネットからのホストアクセスを完全に削除することになり、古いLishアクセス方式は機能しなくなります。

ホストへの Lish-via-SSH は、2013年 5月 10日(金曜日)午後 1時 EDT に機能しなくなります。 そのため、それ以降は新しい Lish ゲートウェイを利用するようにスクリプトまたはエイリアスを調整してください。

新しい Lish ゲートウェイにログインすると、次に示すように、Linode とその場所の一覧が表示されます。

$ ssh caker@lish-newark.linode.com
Linodes located in this data center:
linode2345           Newark, NJ
linode3456           Newark, NJ
linode4567           Newark, NJ

Linodes located in other data centers:
sandbox              Dallas, TX
linode5678           Dallas, TX
[caker@lish-newark.linode.com]#

次に、コマンド プロンプトで Lish 接続を確立したいLinode を入力できます。上記の例では、"linode2345" と入力して、linode2345 の Lish コンソールにアクセスできます。指定した Linode に接続したら Lish はいつものように動作します。linode2345 の Lish を終了すると、ゲートウェイ メニューに戻ります。

また、メニューをすべてバイパスするようなトリックを実行することもできます。

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

そして、このようにコマンドを直接 Linode のLish に送ることもできます:

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

6 つのデータセンターすべてに Lish ゲートウェイを設定しました。任意のゲートウェイを使用して Linode に到達できますが、地理的に最も近いものを使用することをお勧めします。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

Lish ゲートウェイ ボックスには、IPv4 と IPv6 の両方からアクセスできます。 Linode Lish に接続する Ajax メソッドはこれらの変更の影響を受けません。

お楽しみください!
- Chris


コメント (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?

コメントを残す

あなたのメールアドレスは公開されません。必須項目には*印がついています。