どんなことができるのか
Shuttleは、上部メニューバーにアイコンが表示されて
設定した名前をクリックするとssh接続ができるというもの。
ログインユーザのホームディレクトリ直下に.shuttle.json
が作成され、
ここにssh接続先の名前、接続時のコマンドを記載する。Terminal.app
、iTerm
に対応。
※ 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をアプリケーションフォルダへ移動。
{
"_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を自動で接続できる環境を整えることができました!