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
GolangでSSHプロキシサーバを実装した
Search
tsurubee
October 04, 2018
Programming
2
2.1k
GolangでSSHプロキシサーバを実装した
https://blog.tsurubee.tech/entry/2018/09/01/181634
tsurubee
October 04, 2018
Tweet
Share
More Decks by tsurubee
See All by tsurubee
DeepCrysTet: A Deep Learning Approach Using Tetrahedral Mesh for Predicting Properties of Crystalline Materials
tsurubee
0
600
3次元メッシュで表現した結晶構造を用いた材料物性の予測に向けた深層学習モデルの設計 / Design of Deep Learning Model for Predicting Material Properties Using Crystal Structure Represented by Three-Dimensional Mesh
tsurubee
1
1.8k
分散システムの性能異常に対する機械学習の解釈性に基づく原因診断手法 / A Method for Diagnosing the Causes of Performance Issues in Distributed Systems Based on the Interpretability of Machine Learning
tsurubee
0
1.2k
機械学習の解釈性に関する研究動向とシステム運用への応用 / A Survey on Interpretable Machine Learning and Its Application for System Operation
tsurubee
0
280
機械学習モデルの局所的な解釈に着目したシステムにおける異常の原因診断手法の構想
tsurubee
0
7.7k
アニーリングマシンを活用したエッジAIにおける 生成モデルの学習効率化のためのアーキテクチャ
tsurubee
0
1.4k
さくらインターネット研究所で研究に再挑戦した私の半年間の取り組み
tsurubee
1
2.8k
さくらインターネット研究所と鶴田の取り組みのご紹介
tsurubee
0
100
sshr: ユーザに変更を要求せずにシステム変化に追従可能なSSHプロキシサーバ
tsurubee
3
2.9k
Other Decks in Programming
See All in Programming
Unlocking Python's Core Magic
leew
0
110
いまあるチームにフィットさせる Serverless そして Platform Engineeringへの挑戦 / Serverless Fits the Team You Have and Platform Engineering
seike460
PRO
2
1.4k
Micro Frontends for Java Microservices - dev2next 2024
mraible
PRO
0
190
Cancel Next.js Page Navigation: Full Throttle
ypresto
1
120
Removing Corepack
yosuke_furukawa
PRO
9
1.1k
NEWTにおけるiOS18対応の進め方
ryu1sazae
0
180
AWS認定資格を受験するにあたり、気づいたこと・実践していたことのまとめ
satoshi256kbyte
1
120
App Router 悲喜交々
quramy
7
370
◯◯エンジニアになった理由
gessy0129
PRO
0
610
Assembling the Future: crafting the missing pieces of the Ruby on Wasm puzzle
skryukov
0
130
色んなオートローダーを覗き見る #phpcon_okinawa
o0h
PRO
5
370
CSC305 Lecture 01
javiergs
PRO
1
140
Featured
See All Featured
Become a Pro
speakerdeck
PRO
24
4.9k
Design by the Numbers
sachag
278
19k
Code Reviewing Like a Champion
maltzj
519
39k
The Cost Of JavaScript in 2023
addyosmani
43
5.8k
The Invisible Side of Design
smashingmag
297
50k
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
The World Runs on Bad Software
bkeepers
PRO
65
11k
From Idea to $5000 a Month in 5 Months
shpigford
380
46k
Into the Great Unknown - MozCon
thekraken
30
1.4k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
109
6.9k
Ruby is Unlike a Banana
tanoku
96
11k
Making the Leap to Tech Lead
cromwellryan
130
8.8k
Transcript
!UTVSVCFF(.01FQBCP *OD 'VLVPLBHP (PMBOHͰ44)ϓϩΩγαʔό Λ࣮ͨ͠
ࣗݾհ (.0ϖύϘגࣜձࣾ ϗεςΟϯάࣄۀ෦ ΠϯϑϥνʔϜ ాതจ !UTVSVCFF (PMBOH݄͔Β ࢝Ί·ͨ͠ʂ
ࠓ͢͜ͱ w44)ϓϩτίϧͷ֓ཁ w44)ϓϩΩγαʔόΛ։ൃͨ͠എܠ w44)ϓϩΩγαʔόͷ࣮ʹ͍ͭͯ
w4FDVSF4IFMMͷུশ wΫϥΠΞϯτrαʔόؒʹ͓͚Δ௨৴ͷ҆શੑΛ֬อ͢Δ ͨΊͷϓϩτίϧ 44)$MJFOU 44)4FSWFS &ODSZQU %FDSZQU ಁաతͳ҉߸ܦ࿏Λఏڙͯ͘͠ΕΔ
44)ɿ֓ཁ
44)ɿಁաతͳ௨৴ ಁաతʜ࣮ࡍʹଘࡏ͢ΔͷΛଘࡏ͠ͳ͍Α͏ʹݟͤΔ 44)ϢʔβԿҙࣝͤͣͱ௨৴͕҆શʹ҉߸Խɾ ෮߸Խ͞Ε͍ͯΔ ͢ͳΘͪɺ44)Λී௨ʹར༻͢Δ্ͰͦͷΈΛ ϓϩτίϧϨϕϧͰཧղ͢Δඞཁͳ͍
ಁաతͳ௨৴Λఏڙͯ͘͠ΕΔϓϩτίϧʹҙਤతʹ ׂͬͯೖͬͯɺͦͷڍಈΛࣗ༝ʹίϯτϩʔϧ͢Δ
$MJFOU 4FSWFS wϩάΛऔಘ͍ͨ͠ʢ౷ܭతʹղੳɾϦΞϧλΠϜҟৗݕ FUDʣ UDQEQɺ1SPYZ42- wϑοΫΛΈࠐΜͰৼΔ͍Λಈతʹίϯτϩʔϧ͍ͨ͠ QGUQɺTTIS ྫ͑ɾɾ ύέοτͷಡΈࠐΈ ϓϩτίϧͷղऍ
QBDLFU IPPLTDSJQU ϑοΫʹΑΔϩδοΫͷ ֦ுಈత੍ޚ ϓϩτίϧͷॲཧʹׂͬͯೖΔ
TTISͱ͍͏44)ϓϩΩγαʔόΛ࡞ͬͯ·͢ʂ IUUQTCMPHUTVSVCFFUFDIFOUSZ
ͳͥTTISΛ࡞ͬͨͷ͔ʁ
Ϧιʔεϓʔϧ wֹ݄ԁ͔Βར༻Ͱ͖Δʂ wͷཧαʔόͷϦιʔεΛෳͷϢʔβʹఏڙ͢Δʢڞ༻αʔόʣ UTVSVCFF Ϩϯλϧαʔόʔ EFW ෳͷϢʔβͷίϯςϯπ͕ ϩʔΧϧετϨʔδʹ ஔ͞Ε͍ͯΔ TTI
TTI TTI TTI TTI TTIUTVSVCFF!TTI TTIEFW!TTI Ϣʔβ༻Ͱ͖Δαʔό͕ TTIͩͱ͍ͬͯΔඞཁ͕͋Δ ϢʔβͱͦͷϢʔβ͕༻͢Δαʔόͷඥ͚͕ଘࡏ͢Δ
αʔόఏڙऀଆͷطଘͷ՝ TTIUTVSVCFF!TTI Ϧιʔεϓʔϧ 44)$MJFOU TTI TTI TTI TTI TTI w༻αʔό͕มΘͬͨࡍʹϢʔβʹ௨͕ඞཁ
wαʔόཧऀͷ߹Ͱࣗ༝ʹϢʔβ͕͏αʔόΛมߋͰ͖ͳ͍ Ϣʔβ UTVSVCFFTTIʹ ҙࣝతʹଓ͍ͯ͠Δ UTVSVCFFͷίϯςϯπΛ TTIʹҠઃ͍ͨ͠
ϢʔβͱαʔόͷஔΛ࠷దԽ͠ɺ ͞Βʹշదͳαʔόڥͷఏڙ ϢʔβͷίϯςϯπҠઃͷোนΛ ۃݶ·ͰԼ͛Δ
wϢʔβ໊ϕʔεͰಈతʹଓઌΛܾఆͰ͖Δ wϑοΫʹΑΓϩδοΫΛࣗ༝ʹΈࠐΊΔFUD TTISɿϢʔβ͕ଓઌΛҙࣝ͠ͳ͍ϓϩΩγαʔό IUUQTHJUIVCDPNUTVSVCFFTTIS
TTIUTVSVCFF!TTIS Ϧιʔεϓʔϧ 44)ΫϥΠΞϯτ TTIS 1MVHHBCMF )PPLT Ϣʔβ TTISಋೖޙͷੈք
TTIUTVSVCFF!TTIS Ϧιʔεϓʔϧ 44)ΫϥΠΞϯτ TTIS 1MVHHBCMF )PPLT Ϣʔβ TTISಋೖޙͷੈք Ϣʔβ໊
TTIUTVSVCFF!TTIS Ϧιʔεϓʔϧ 44)ΫϥΠΞϯτ TTIS 1MVHHBCMF )PPLT Ϣʔβ TTISಋೖޙͷੈք Ϣʔβ໊ ଓઌϗετ
Ϣʔβͱଓઌϗετͷඥ͚Λ%#ͰҰݩཧ
TTIUTVSVCFF!TTIS Ϧιʔεϓʔϧ 44)ΫϥΠΞϯτ TTIS 1MVHHBCMF )PPLT Ϣʔβ TTISಋೖޙͷੈք Ϣʔβ໊ ଓઌϗετ
Ϣʔβͱଓઌϗετͷඥ͚Λ%#ͰҰݩཧ 44)ΛϓϩΩγ
TTIUTVSVCFF!TTIS Ϧιʔεϓʔϧ 44)ΫϥΠΞϯτ Ϣʔβ໊ ଓઌϗετ TTIS 1MVHHBCMF )PPLT 44)ΛϓϩΩγ Ϣʔβͱଓઌϗετͷඥ͚Λ%#ͰҰݩཧ
Ϣʔβ TTISಋೖޙͷੈք %#ͷ6QEBUFʹΑΓࣗಈͰϢʔβͷଓઌ͕ΓସΘΔ
TTISΛͬͯΈΔͱʜ $ ssh
[email protected]
-p 2222
[email protected]
's password: [tsurubee@host-tsurubee ~]$
$ ssh
[email protected]
-p 2222
[email protected]
's password: [dev@host-dev ~]$ ࣮ߦ͢ΔίϚϯυʮϢʔβ໊ʯҎ֎ಉ͕ͩ͡ɺ ҧ͏αʔόʹ44)ϩάΠϯ͞ΕΔ
TTISͷ࣮ʹ͍ͭͯ
·ͣɺϓϩτίϧΛΔͨΊʹ3'$ΛಡΉ w3'$ɿ44)"VUIFOUJDBUJPO1SPUPDPM Ϣʔβೝূʢύεϫʔυೝূެ։伴ೝূʣ w3'$ɿ44)5SBOTQPSU-BZFS1SPUPDPM τϥϯεϙʔτ w3'$ɿ44)$POOFDUJPO1SPUPDPM νϟωϧ੍ޚϙʔτϑΥϫʔσΟϯά 44)ɺෳͷಠཱͨ͠ϓϩτίϧͰߏ͞ΕΔ
44)ϓϩτίϧͷ֊ߏ $MJFOU 4FSWFS 44)$0// 3'$ 44)"65) 3'$ 44)53"/4 3'$ ௨৴ͷ҉߸Խ
ηογϣϯ伴ͷަ Ϣʔβೝূ νϟωϧͷଟॏԽ *OUFSOFU wϓϩτίϧͷશମ૾ͷѲॲཧͷྲྀΕΛ௫Ή͜ͱ͕େ w44)ϓϩΩγαʔόΫϥΠΞϯταʔόͷؒʹׂͬͯೖͬͯɺ ҉߸Խ͞ΕͨτϥϯεϙʔτΛհ͢Δඞཁ͕͋Δ
44)ηογϣϯཱ֬·ͰͷྲྀΕ 5$1ίωΫγϣϯͷཱ֬ ύϥϝʔλωΰγΤʔγϣϯ ηογϣϯ伴ަ ϗετೝূʢαʔόೝূʣ
Ϣʔβೝূ 44)ηογϣϯͷཱ֬
TTISͷॲཧͷྲྀΕ $MJFOU TTIS 44)ϦΫΤετ
TTISͷॲཧͷྲྀΕ $MJFOU TTIS 44)ϦΫΤετ τϥϯεϙʔτͷ҉߸Խ ύϥϝʔλωΰγΤʔγϣϯ %)伴ަ
TTISͷॲཧͷྲྀΕ $MJFOU TTIS 44)ϦΫΤετ τϥϯεϙʔτͷ҉߸Խ ύϥϝʔλωΰγΤʔγϣϯ %)伴ަ 'JOE6QTUSFBN)PPL
TTISͷॲཧͷྲྀΕ $MJFOU TTIS 44)ϦΫΤετ τϥϯεϙʔτͷ҉߸Խ ύϥϝʔλωΰγΤʔγϣϯ %)伴ަ 'JOE6QTUSFBN)PPL 4FSWFS
TTISͷॲཧͷྲྀΕ $MJFOU TTIS 44)ϦΫΤετ τϥϯεϙʔτͷ҉߸Խ ύϥϝʔλωΰγΤʔγϣϯ %)伴ަ 'JOE6QTUSFBN)PPL 4FSWFS τϥϯεϙʔτͷ҉߸Խ
҉߸Խ͞ΕͨτϥϯεϙʔτͷίωΫγϣϯཱ֬
TTISͷॲཧͷྲྀΕ 4FSWFS $MJFOU TTIS 44)ϦΫΤετ τϥϯεϙʔτͷ҉߸Խ τϥϯεϙʔτͷ҉߸Խ 'JOE6QTUSFBN)PPL ϢʔβೝূʹΑΔΫϥΠΞϯτͷਖ਼ੑ֬ೝ ҉߸Խ͞ΕͨτϥϯεϙʔτͷίωΫγϣϯཱ֬
ύϥϝʔλωΰγΤʔγϣϯ %)伴ަ
TTISͷॲཧͷྲྀΕ 4FSWFS $MJFOU TTIS 44)ϦΫΤετ τϥϯεϙʔτͷ҉߸Խ τϥϯεϙʔτͷ҉߸Խ 'JOE6QTUSFBN)PPL ϢʔβೝূʹΑΔΫϥΠΞϯτͷਖ਼ੑ֬ೝ ҉߸Խ͞ΕͨτϥϯεϙʔτͷίωΫγϣϯཱ֬
ύϥϝʔλωΰγΤʔγϣϯ %)伴ަ ೝূΛͲ͏Δ͔ ͕ʂ
Ϣʔβೝূͷ࣮ʹ ۤ͠Μͩɾɾ
ϓϩΩγΛհͨ͠Ϣʔβೝূ TTISೝূϝοηʔδͷύέοτΛͦͷ··αʔόʹ͠ɺ αʔό͔ΒͷϨεϙϯεΛͦͷ··ΫϥΠΞϯτʹฦ͢ 4FSWFS $MJFOU TTIS ೝূϦΫΤετ ೝূϨεϙϯε
ϓϩΩγΛհͨ͠Ϣʔβೝূ TTISೝূϝοηʔδͷύέοτΛͦͷ··αʔόʹ͠ɺ αʔό͔ΒͷϨεϙϯεΛͦͷ··ΫϥΠΞϯτʹฦ͢ 4FSWFS $MJFOU TTIS ύεϫʔυೝূ ⭕ ೝূϦΫΤετ ೝূϨεϙϯε
ϓϩΩγΛհͨ͠Ϣʔβೝূ TTISೝূϝοηʔδͷύέοτΛͦͷ··αʔόʹ͠ɺ αʔό͔ΒͷϨεϙϯεΛͦͷ··ΫϥΠΞϯτʹฦ͢ 4FSWFS $MJFOU TTIS ύεϫʔυೝূ ެ։伴ೝূ ⭕ ❌
ೝূϦΫΤετ ೝূϨεϙϯε
ެ։伴ೝূɿηογϣϯ*% $MJFOUTTISؒͱTTIS4FSWFSؒҟͳΔηογϣϯ*%Λ͍࣋ͬͯΔ 4FSWFS $MJFOU TTIS ηογϣϯ*%YYY ηογϣϯ*%ZZZ ஈ֊ͷެ։伴ೝূ͕ඞཁ τϥϯεϙʔτͷ҉߸Խ 伴ަ࣌ʹηογϣϯ͝ͱʹ
Ұҙͳηογϣϯ*%͕ੜ͞ Εɺσδλϧॺ໊ʹΘΕΔ
ެ։伴ೝূɿTTISͷ߹ 4FSWFS $MJFOU TTIS ެ։伴ͷొ֬ೝ ʢ$IFDL1VCMJD,FZ)PPLʣ LFZ" LFZ# ൿີ伴ʹΑΔॺ໊ ʢ'FUDI1SJWBUF,FZ)PPLʣ
w$MJFOUTTISؒͱTTIS4FSWFSؒผͷΩʔϖΞͰެ։伴ೝূΛߦ͏ wެ։伴ͷొ֬ೝൿີ伴ʹΑΔॺ໊ϑοΫʹΑΓࣗ༝ʹ֦ுͰ͖Δ
·ͱΊ wಁաతͳ௨৴Λఏڙͯ͘͠ΕΔϓϩτίϧʹҙਤతʹׂͬͯ ೖΔ͜ͱͰɺͦͷڍಈΛࣗ༝ʹίϯτϩʔϧͰ͖Δ wTTISʹΑͬͯϢʔβ͕ଓઌΛҙࣝͤͣɺϢʔβ໊ϕʔεͰ ಈతʹଓઌΛಛఆͰ͖ΔΑ͏ʹͳΔ wϓϩΩγΛհͨ͠ެ։伴ೝূηογϣϯ*%ͷؔͰஈ֊ ʹެ։伴ೝূΛ͢Δඞཁ͕͋Δ
͝ਗ਼ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ʂʂ