サーバへの接続を楽にしてくれるツールを作ってみた
by
kenji sakoda
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
サーバへの接続を楽にして くれるツールを作ってみた Go(Un)Conference LT大会 6kg 2019/05/20
Slide 2
Slide 2 text
プロフィール sakoda kenji 迫田けんじ / webエンジニア ● twitter.com/_sakoken ● github.com/sakoken 株式会社アイスタイル テクノロジー本部 R&D部 週末バドミントンやってます。
Slide 3
Slide 3 text
話す内容 ● 背景 ● よくあるシーン ● 欲しかったもの ● デモ ● 使ったライブラリー / ツール ● やり残したこと ● まとめ
Slide 4
Slide 4 text
背景
Slide 5
Slide 5 text
背景 自社ではまだdocker化やansible化が 進んでいないため、サーバに入って設 定をいじったりする作業が多い
Slide 6
Slide 6 text
よくあるシーン
Slide 7
Slide 7 text
よくあるシーン サーバにsshで入って仕事したい
Slide 8
Slide 8 text
よくあるシーン sakoken$ ssh
Slide 9
Slide 9 text
よくあるシーン sakoken$ ssh サーバのホスト名 なんだっけ
Slide 10
Slide 10 text
よくあるシーン sakoken$ ssh メモ帳 host: xxx.yyy.zzz password: abcd123456789
Slide 11
Slide 11 text
よくあるシーン sakoken$ ssh
[email protected]
Slide 12
Slide 12 text
よくあるシーン sakoken$ ssh
[email protected]
[email protected]
's password: パスワード なんだっけ
Slide 13
Slide 13 text
よくあるシーン sakoken$ ssh
[email protected]
[email protected]
's password: メモ帳 host: xxx.yyy.zzz password: abcd123456789
Slide 14
Slide 14 text
このようなことあったりしませんか
Slide 15
Slide 15 text
欲しかったもの
Slide 16
Slide 16 text
欲しかったもの ● ターミナル上で ● hostの管理ができて ● サーバのパスワードを覚えてなくても ● sshでログインをしてくれるもの ● パスワードは暗号化されていて ● 最近使ったものが分かり ● 各hostにメモが書けて ● hostの絞り込み検索ができること
Slide 17
Slide 17 text
作ってみました! https://github.com/sakoken/sshh
Slide 18
Slide 18 text
デモ https://github.com/sakoken/sshh
Slide 19
Slide 19 text
使ったライブラリ・ツールたち ● github.com/chzyer/readline ○ GNU-Readlineの様なライブラリで ○ コマンドライン上でインタラクティブな機能を簡単に作れる ● gopkg.in/urfave/cli.v2 ○ コマンドラインツールを作るためのフレームワーク ● github.com/goreleaser/goreleaser ○ 各種OS用にビルドしたり ○ brewでの配布を容易にしてくれたりする
Slide 20
Slide 20 text
github.com/chzyer/readline
Slide 21
Slide 21 text
github.com/chzyer/readline https://github.com/chzyer/readline/blob/master/example/readline-demo/readline-demo.go
Slide 22
Slide 22 text
github.com/chzyer/readline ● readline.Readline ○ 入力待ち ● readline.ReadlineWithDefault ○ デフォルト値入力済みの入力待ち ● readline.ReadPassword ○ 入力値のマスキング
Slide 23
Slide 23 text
やり残したこと ● 鍵認証への対応 ● テスト
Slide 24
Slide 24 text
まとめ ● インタラクティブなcliを作るのに chzyer/readlineがおすすめ ● sshでHostやPassword覚えるのに疲れたら sakoken/sshhを使ってみてください
Slide 25
Slide 25 text
ご静聴ありがとうございます