Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
サーバへの接続を楽にしてくれるツールを作ってみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kenji sakoda
May 27, 2019
Technology
670
1
Share
サーバへの接続を楽にしてくれるツールを作ってみた
sshコマンドでサーバパスワードを覚えてなくても接続してくれるツールを作った際の背景や使ったツール・ライブラリを紹介しています。
kenji sakoda
May 27, 2019
Other Decks in Technology
See All in Technology
そのSLO 99.9%、本当に必要ですか? 〜優先度付きSLOによる責任共有の設計思想〜 / Is that 99.9% SLO really necessary? Design philosophy of shared responsibility through prioritized SLOs
vtryo
0
420
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
100k
Agent の「自由」と「安全」〜未来に向けて今できること〜
katayan
0
350
AI 時代の Platform Engineering
recruitengineers
PRO
1
130
「背中を見て育て」からの卒業 〜専門技術としてのテスト設計を軸に、品質保証のバトンを繋ぐ〜
nihonbuson
PRO
0
210
MySQL 9.7がやってきた ~これまでのあらすじと基本情報~ @ 日本MySQLユーザ会会2026年04月 / mysql97-yattekita
sakaik
0
180
生成AI時代に信頼性をどう保ち続けるか - Policy as Code の実践
akitok_
0
170
ブラウザの投機的読み込みと投機ルールAPIを理解し、Webサービスのパフォーマンスを最適化する
shuta13
3
300
SREの仕事は「壊さないこと」ではなくなった 〜自律化していくシステムに、責任と判断を与えるという価値〜 / 20260515 Naoki Shimada
shift_evolve
PRO
1
100
Oracle Cloud Infrastructure presents managed, serverless MCP Servers for Oracle AI Database
thatjeffsmith
0
200
freeeで運用しているAIQAについて
qatonchan
0
430
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
200
Featured
See All Featured
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
We Are The Robots
honzajavorek
0
220
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
450
Marketing to machines
jonoalderson
1
5.2k
Skip the Path - Find Your Career Trail
mkilby
1
120
My Coaching Mixtape
mlcsv
0
120
Typedesign – Prime Four
hannesfritz
42
3k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
130
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
560
Transcript
サーバへの接続を楽にして くれるツールを作ってみた Go(Un)Conference LT大会 6kg 2019/05/20
プロフィール sakoda kenji 迫田けんじ / webエンジニア • twitter.com/_sakoken • github.com/sakoken
株式会社アイスタイル テクノロジー本部 R&D部 週末バドミントンやってます。
話す内容 • 背景 • よくあるシーン • 欲しかったもの • デモ •
使ったライブラリー / ツール • やり残したこと • まとめ
背景
背景 自社ではまだdocker化やansible化が 進んでいないため、サーバに入って設 定をいじったりする作業が多い
よくあるシーン
よくあるシーン サーバにsshで入って仕事したい
よくあるシーン sakoken$ ssh
よくあるシーン sakoken$ ssh サーバのホスト名 なんだっけ
よくあるシーン sakoken$ ssh メモ帳 host: xxx.yyy.zzz password: abcd123456789
よくあるシーン sakoken$ ssh
[email protected]
よくあるシーン sakoken$ ssh
[email protected]
[email protected]
's password: パスワード なんだっけ
よくあるシーン sakoken$ ssh
[email protected]
[email protected]
's password: メモ帳 host: xxx.yyy.zzz password:
abcd123456789
このようなことあったりしませんか
欲しかったもの
欲しかったもの • ターミナル上で • hostの管理ができて • サーバのパスワードを覚えてなくても • sshでログインをしてくれるもの •
パスワードは暗号化されていて • 最近使ったものが分かり • 各hostにメモが書けて • hostの絞り込み検索ができること
作ってみました! https://github.com/sakoken/sshh
デモ https://github.com/sakoken/sshh
使ったライブラリ・ツールたち • github.com/chzyer/readline ◦ GNU-Readlineの様なライブラリで ◦ コマンドライン上でインタラクティブな機能を簡単に作れる • gopkg.in/urfave/cli.v2 ◦
コマンドラインツールを作るためのフレームワーク • github.com/goreleaser/goreleaser ◦ 各種OS用にビルドしたり ◦ brewでの配布を容易にしてくれたりする
github.com/chzyer/readline
github.com/chzyer/readline https://github.com/chzyer/readline/blob/master/example/readline-demo/readline-demo.go
github.com/chzyer/readline • readline.Readline ◦ 入力待ち • readline.ReadlineWithDefault ◦ デフォルト値入力済みの入力待ち •
readline.ReadPassword ◦ 入力値のマスキング
やり残したこと • 鍵認証への対応 • テスト
まとめ • インタラクティブなcliを作るのに chzyer/readlineがおすすめ • sshでHostやPassword覚えるのに疲れたら sakoken/sshhを使ってみてください
ご静聴ありがとうございます