Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
23
Help us understand the problem. What is going on with this article?
@KoriCori

Shuttle(GUIでのssh接続)とsshpassの組み合わせがいい感じ

More than 5 years have passed since last update.

どんなことができるのか

Shuttleは、上部メニューバーにアイコンが表示されて
設定した名前をクリックするとssh接続ができるというもの。
ログインユーザのホームディレクトリ直下に.shuttle.jsonが作成され、
ここにssh接続先の名前、接続時のコマンドを記載する。Terminal.appiTermに対応。
※ SHUTTLE A simple SSH shortcut menu for OS X
http://fitztrev.github.io/shuttle/

sshpassは、sshコマンド発行時にsshpass -p 'パスワード'を前につけることで、
sshパスワードを自動的に入力してくれるもの。

私が設定したこと

まずsshpassをインストールします。
Homebrewではbrew install sshpassとしてもセキュリティ的に問題があるとの警告が出て、インストールさせてくれません。
(パスワードが平文記載だからそうなりますが...)


※ 7/8追記・修正:
コメントでご指摘いただいたとおり、
Warning: MD5 support is deprecated and will be removed in a future version.
とMD5サポート終了が表示されます。

その為、以下コマンドを実行します。

% brew install http://git.io/sshpass.rb

と外部ファイルを指定してすることで、インストールできるようになります。
※ 参照:Install Sshpass on Mac
http://lalyos.github.io/blog/2013/09/30/install-sshpass-on-mac/

また、Shuttleは上記URLよりShuttle.dmgをダウンロードして
Shuttle.appをアプリケーションフォルダへ移動。

shuttle.json(設定例)
{
    "_comments": [
        "Valid terminals include: 'Terminal.app' or 'iTerm'",
        "Hosts will also be read from your ~/.ssh/config or /etc/ssh_config file, if available",
        "For more information on how to configure, please see http://fitztrev.github.io/shuttle/"
    ],
    "terminal": "Terminal.app",
    "launch_at_login": false,
    "show_ssh_config_hosts": true,
    "ssh_config_ignore_hosts": [],
    "ssh_config_ignore_keywords": [],
    "hosts": [
        {
            "Work": [
                {
                    "name": "Host-A",
                    "cmd": "sshpass -p 'パスワード' ssh username@hostname"
                },
                {
                    "name": "Host-B",
                    "cmd": "sshpass -p 'パスワード' ssh -t username@remotehost 'ssh username@targethost'"
                }
            ]
        },
        {
            "Vagrant": [
                {
                    "name": "precise32",
                    "cmd": "ssh vagrant@127.0.0.1 -p 2222 -i ~/.vagrant.d/insecure_private_key"
                }
            ]
        }
    ]
}

デフォルトでvagrantなど各種設定方法が記載されています。
(Workの箇所は私が設定した内容の説明となります。)

これらを組み合わせて多段sshを自動で接続できる環境を整えることができました!

23
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
KoriCori
不動産業界からIT業界へ転向。 インフラエンジニアとして勉強中。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
23
Help us understand the problem. What is going on with this article?