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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
kenji sakoda
May 27, 2019
Technology
660
1
Share
サーバへの接続を楽にしてくれるツールを作ってみた
sshコマンドでサーバパスワードを覚えてなくても接続してくれるツールを作った際の背景や使ったツール・ライブラリを紹介しています。
kenji sakoda
May 27, 2019
Other Decks in Technology
See All in Technology
Azure Static Web Apps の自動ビルドがタイムアウトしやすくなった状況に対応した件/global-azure2026
thara0402
0
260
#jawsugyokohama 100 LT11, "My AWS Journey 2011-2026 - kwntravel"
shinichirokawano
0
270
聞き手の目線で考えるプロポーザル
takefumiyoshii
0
410
AI時代に新卒採用、はじめました/junior-engineer-never-die
dmnlk
0
270
ルールルルルル私的函館観光ガイド── 函館の街はイクラでも楽しめる!
nomuson
0
190
組織的なAI活用を阻む 最大のハードルは コンテキストデザインだった
ixbox
7
1.9k
AgentCore RuntimeからS3 Filesをマウントしてみる
har1101
4
440
DevOpsDays Tokyo 2026 見えない開発現場を、見える投資に変える
rojoudotcom
3
190
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
Code Interpreter で、AIに安全に コードを書かせる。
yokomachi
0
6k
NgRx SignalStore: The Power of Extensibility
rainerhahnekamp
0
230
Data Hubグループ 紹介資料
sansan33
PRO
0
2.9k
Featured
See All Featured
Between Models and Reality
mayunak
3
260
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.6k
Music & Morning Musume
bryan
47
7.1k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
320
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
340
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Designing Powerful Visuals for Engaging Learning
tmiket
1
340
The Art of Programming - Codeland 2020
erikaheidi
57
14k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
A designer walks into a library…
pauljervisheath
211
24k
The browser strikes back
jonoalderson
0
940
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を使ってみてください
ご静聴ありがとうございます