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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tsurubee
October 04, 2018
Programming
2.4k
2
Share
GolangでSSHプロキシサーバを実装した
https://blog.tsurubee.tech/entry/2018/09/01/181634
tsurubee
October 04, 2018
More Decks by tsurubee
See All by tsurubee
大規模言語モデルにおけるData-Centric AIと合成データの活用 / Data-Centric AI and Synthetic Data in Large Language Models
tsurubee
1
560
言語モデルによるAI創薬の進展 / Advancements in AI-Driven Drug Discovery Using Language Models
tsurubee
2
600
AIトップカンファレンスからみるData-Centric AIの研究動向 / Research Trends in Data-Centric AI: Insights from Top AI Conferences
tsurubee
3
3.3k
DeepCrysTet: A Deep Learning Approach Using Tetrahedral Mesh for Predicting Properties of Crystalline Materials
tsurubee
0
1.3k
3次元メッシュで表現した結晶構造を用いた材料物性の予測に向けた深層学習モデルの設計 / Design of Deep Learning Model for Predicting Material Properties Using Crystal Structure Represented by Three-Dimensional Mesh
tsurubee
1
2.5k
分散システムの性能異常に対する機械学習の解釈性に基づく原因診断手法 / A Method for Diagnosing the Causes of Performance Issues in Distributed Systems Based on the Interpretability of Machine Learning
tsurubee
0
1.7k
機械学習の解釈性に関する研究動向とシステム運用への応用 / A Survey on Interpretable Machine Learning and Its Application for System Operation
tsurubee
0
390
機械学習モデルの局所的な解釈に着目したシステムにおける異常の原因診断手法の構想
tsurubee
0
8.1k
アニーリングマシンを活用したエッジAIにおける 生成モデルの学習効率化のためのアーキテクチャ
tsurubee
0
1.7k
Other Decks in Programming
See All in Programming
inferと仲良くなる10分間
ryokatsuse
1
270
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
190
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
390
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.2k
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
740
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
310
Claspは野良GASの夢をみるか
takter00
0
140
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
300
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
130
Moments When Things Go Wrong
aurimas
3
120
OSもどきOS
arkw
0
280
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
6
1.3k
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Designing for humans not robots
tammielis
254
26k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
590
Music & Morning Musume
bryan
47
7.2k
Context Engineering - Making Every Token Count
addyosmani
9
920
Designing for Timeless Needs
cassininazir
1
230
Art, The Web, and Tiny UX
lynnandtonic
304
21k
The browser strikes back
jonoalderson
0
1.1k
Unsuck your backbone
ammeep
672
58k
Typedesign – Prime Four
hannesfritz
42
3.1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Deep Space Network (abreviated)
tonyrice
0
160
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ϓϩΩγΛհͨ͠ެ։伴ೝূηογϣϯ*%ͷؔͰஈ֊ ʹެ։伴ೝূΛ͢Δඞཁ͕͋Δ
͝ਗ਼ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ʂʂ