Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
sshr: ユーザに変更を要求せずにシステム変化に追従可能なSSHプロキシサーバ
Search
tsurubee
December 06, 2019
Research
3.6k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
sshr: ユーザに変更を要求せずにシステム変化に追従可能なSSHプロキシサーバ
tsurubee
December 06, 2019
More Decks by tsurubee
See All by tsurubee
大規模言語モデルにおけるData-Centric AIと合成データの活用 / Data-Centric AI and Synthetic Data in Large Language Models
tsurubee
1
680
言語モデルによるAI創薬の進展 / Advancements in AI-Driven Drug Discovery Using Language Models
tsurubee
2
670
AIトップカンファレンスからみるData-Centric AIの研究動向 / Research Trends in Data-Centric AI: Insights from Top AI Conferences
tsurubee
3
3.5k
DeepCrysTet: A Deep Learning Approach Using Tetrahedral Mesh for Predicting Properties of Crystalline Materials
tsurubee
0
1.4k
3次元メッシュで表現した結晶構造を用いた材料物性の予測に向けた深層学習モデルの設計 / Design of Deep Learning Model for Predicting Material Properties Using Crystal Structure Represented by Three-Dimensional Mesh
tsurubee
1
2.6k
分散システムの性能異常に対する機械学習の解釈性に基づく原因診断手法 / A Method for Diagnosing the Causes of Performance Issues in Distributed Systems Based on the Interpretability of Machine Learning
tsurubee
0
1.8k
機械学習の解釈性に関する研究動向とシステム運用への応用 / A Survey on Interpretable Machine Learning and Its Application for System Operation
tsurubee
0
400
機械学習モデルの局所的な解釈に着目したシステムにおける異常の原因診断手法の構想
tsurubee
0
8.2k
アニーリングマシンを活用したエッジAIにおける 生成モデルの学習効率化のためのアーキテクチャ
tsurubee
0
1.7k
Other Decks in Research
See All in Research
CDCL を用いた MILP の厳密解法
imai448
0
310
長時間動画QAにおけるマルチエージェント推論 ・SVAgent: Storyline-Guided Long Video Understanding via Cross-Modal Multi-Agent Collaboration
murakawatakuya
1
230
A new deal for disabled people
resolutionfoundation
0
290
進化?迷走?CasualConc ファミリーアプリの現在地 @ 英語コーパス学会 2026
casualconc
0
150
某助成金プロジェクト採択に向けて企業研究所のアウトリーチ専任者がやったこと
afroscript
0
210
ハードウェア研究で国際トップ会議を目指す!IROS 2027での論文採択を目指して
ayatokanada
7
4.1k
Kunai: Toward a Verifier-Safe Layered DSL for Nested Encapsulation Packet Filtering on eBPF
takehaya
1
170
研究室単位での自律的 IPv6接続性確立に向けたAS共同運用モデルの提案と実証
reokashiwa
PRO
0
240
Physical AIでモデリングはどう変わるか/How Physical AI Will Change Modeling
stktu
0
310
湯村研究室の紹介2026 / yumulab2026
yumulab
0
160
論文読み会 SNLP2026 Tau2-Bench: Evaluating Conversational Agents in a Dual-Control Environment
s_mizuki_nlp
0
310
医療LLMの現在地〜最新研究から社会実装までを考える〜
kento1109
1
1.8k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
New Earth Scene 8
popppiees
4
2.7k
The Curious Case for Waylosing
cassininazir
1
570
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
450
It's Worth the Effort
3n
188
29k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Un-Boring Meetings
codingconduct
0
460
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
500
Site-Speed That Sticks
csswizardry
13
1.6k
Git: the NoSQL Database
bkeepers
PRO
433
67k
A Tale of Four Properties
chriscoyier
163
24k
How to Ace a Technical Interview
jacobian
280
24k
Transcript
͘͞ΒΠϯλʔωοτגࣜձࣾ (C) Copyright 1996-2019 SAKURA Internet Inc ͘͞ΒΠϯλʔωοτݚڀॴ sshr: ϢʔβʹมߋΛཁٻͤͣʹ
γεςϜมԽʹैՄೳͳSSHϓϩΩγαʔό 2019/12/06 ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδϜʢIOTS 2019ʣ ɹా തจɼদຊ ྄հ ͘͞ΒΠϯλʔωοτגࣜձࣾ ͘͞ΒΠϯλʔωοτݚڀॴ
2 1. എܠͱత 2. طଘख๏ͱͦͷ՝ 3. ఏҊख๏ 4. ੑೳධՁͱߟ 5.
·ͱΊ ࣍
1. എܠͱత
4 มԽ͕ٻΊΒΕΔITΠϯϑϥ • WebαʔϏεͷΑ͏ͳΠϯλʔωοτΛհͯ͠ར༻͢ΔαʔϏε͕ੈͷதʹීٴ ͠ɼͦͷར༻ऀ͕૿େ͍ͯ͠Δɽ • WebαʔϏεΛࢧ͑ΔΠϯϑϥɼར༻ऀ͔Βͷଟ༷ͳཁٻڥͷมԽʹ Ԡͯ͡ɼਝ͔ͭॊೈʹγεςϜߏΛมߋ͢Δ͜ͱ͕ٻΊΒΕΔɽ ཁٻɾڥͷมԽ γεςϜଆͷରԠྫ
ΞΫηεͷ૿ݮ αʔόͷεέʔϧΞτɾεέʔϧΠϯ ސ٬χʔζͷมԽ αʔϏεͷػೳ֦ுͷͨΊͷ৽نαʔόಋೖ ϋʔυΣΞো αʔόͷϚΠάϨʔγϣϯ
5 ssh username@<hostname or IP> SSH Client • αʔϏεͷଟ༷ͳཁٻʹԠͯ͡γεςϜߏΛਝʹมߋ͍ͯ͘͜͠ͱ͕ٻΊΒ ΕΔঢ়گʹ͓͍ͯɼγεςϜͷӡ༻ཧมߋʹैͰ͖Δඞཁ͕͋Δɽ
• Ұํɼ҆શͳϦϞʔτଓαʔϏεͱͯ͠αʔόཧʹ͘ར༻͞Ε͍ͯΔSSH ɼϢʔβ͕ར༻͢ΔαʔόͷIPΞυϨε·ͨϗετ໊Λࢦఆͯ͠ଓཁٻΛૹΔ ΈͰ͋Δɽ มԽʹैͰ͖Δӡ༻ཧ ͜͜ͰͷϢʔβͱɼγεςϜͷಛఆͷαʔόͷϦιʔεΛ༻͢Δऀ ɾγεςϜͷཧऀɾ։ൃऀ ɾϗεςΟϯάαʔϏεͷར༻ऀɼetc. Ϣʔβ มߋ Server Server αʔόͷIPΞυϨεɾ ϗετ໊ͷมߋͳͲ Ϣʔβ͕มߋޙͷใ ΛΔඞཁ͕͋Δ
6 SSHʹ͓͚Δ՝ͱຊݚڀͷత • SSHͰଓ͢ΔαʔόͷIPΞυϨεϗετ໊ʹมߋ͕͋ͬͨ߹ɼཧऀ֤ ϢʔβมߋޙͷใΛΒͤΔඞཁ͕͋ΓɼϢʔβͦͷมߋʹै͠ͳ͚ ΕͳΒͳ͍ɽ • ্هͷ՝Λղܾ͠ɼSSHͷϢʔβ͕γεςϜͷߏͦͷมߋΛҙࣝ͢Δ͜ͱ ͳ͘ɼಁաతʹతͷαʔόʹଓ͕ՄೳͳΈΛ࣮ݱ͢Δ͜ͱ͕ຊݚڀͷ తͰ͋Δɽ
2. طଘख๏ͱͦͷ՝
8 طଘख๏ͷྨ γεςϜͷߏมߋʹै͢ΔׂΛͲ͕͜୲͏͔ʹΑΓҎԼͷ2ͭʹྨͰ͖Δɽ 1. ΫϥΠΞϯτπʔϧ 2. ϓϩΩγαʔό SSH αʔό ϓϩΩγ
αʔό ཧσʔλ SSH ΫϥΠΞϯτ SSH αʔό ཧσʔλ ᶃ ᶄ ᶃ ᶄ ᶅ ྫ: gcloudίϚϯυ , consult ྫ: SSHPiper , sshdͷ֦ு SSHϦΫΤετ͝ͱʹৗʹ࠷৽ʹอͨΕͨγεςϜͷߏใΛอ࣋͢Δཧσʔλ Λࢀর͢Δ͜ͱͰมߋʹै͢Δɽ SSH ΫϥΠΞϯτ SSHΫϥΠΞϯτ͕͍࣋ͬͯΔ ԿΒ͔ͷΩʔใΛݩʹཧ σʔλΛݕࡧ͠ɼଓ͖͢ SSHαʔόͷใΛऔಘ͢Δɽ
9 1. ΫϥΠΞϯτπʔϧ gcloudίϚϯυ • gcloudGCP্ͷϦιʔεΛૢ࡞͢Δओཁͳ ίϚϯυϥΠϯπʔϧ • ʮgcloud compute
sshʯίϚϯυʹΠϯελϯε໊Λࢦఆ͢Δ͜ͱͰɼରͷΠϯελϯεʹ SSHଓ͕Մೳ • ssh(1)ίϚϯυͷϥούʔͰ͋ΓɼSSHͷϦΫΤετΛૹΔલʹΠϯελϯε໊ΛΩʔʹGCP ͕ཧ͍ͯ͠Δߏใ͔ΒIPΞυϨεΛऔಘ͢ΔػೳΛ༗͍ͯ͠Δɽ • ϢʔβࣗͰఆٛͨ͠αʔό͝ͱʹҰҙͷΠϯελϯε໊Λ͍ͬͯΕɼରαʔόͷIP ΞυϨεͷใͦͷมߋΛҙࣝ͢Δ͜ͱͳ͘ಁաతʹSSHଓ͕ՄೳͰ͋Δɽ SSH ΫϥΠΞϯτ SSH αʔό ཧσʔλ ᶃ ᶄ ՝ Ϣʔβʹ༻͍ΔΫϥΠΞϯτπʔϧΛڧ੍͢Δɼ͔ͭπʔϧͷ༷มߋʹ͍ όʔδϣϯΞοϓͷมߋΛཁٻ͢Δɽ
10 2. ϓϩΩγαʔό • GitHub্ͰΦʔϓϯιʔειϑτΣΞͱͯ͠ ։ൃ͞Ε͍ͯΔSSHͷϓϩΩγαʔό • SSHͷϦΫΤετΛड͚ͨࡍʹɼSSHͷϢʔβ໊͔Βར༻͢ΔଓઌαʔόΛܾఆͰ͖ΔػೳΛ ༗͢Δɽ •
Ϣʔβ͕༻͍ΔΫϥΠΞϯτπʔϧͷ੍ݶมߋΛ՝͞ͳ͍ɽ • ϢʔβɼϓϩΩγαʔόͷIPΞυϨεɾϗετ໊͍͑ͬͯ͞Εɼଓ͢ΔαʔόͷIPΞυ Ϩεɾϗετ໊ͦͷมߋΛҙࣝͤͣɼϢʔβ໊ʹඥ͍ͮͨαʔόʹಁաతʹSSHଓͰ͖Δɽ ཧσʔλ ᶃ ᶅ ϓϩΩγ αʔό SSHPiper ଓઌαʔόΛܾఆ͢ΔϩδοΫΛγεςϜཧऀ͕ࣗ༝ʹΈࠐΉ͜ͱมߋ͢Δ͜ͱ͕Ͱ͖ ͣɼϩδοΫΛมߋ͢ΔͨΊʹιʔείʔυʹมߋΛՃ͑ͳ͚ΕͳΒͳ͍ͨΊɼγες Ϝͷ༷มߋʹର͢Δ֦ுੑ͕͍ɽ ᶄ SSH αʔό SSH ΫϥΠΞϯτ ՝
3. ఏҊख๏
12 ΞʔΩςΫνϟͷ֓ཁ γεςϜཧऀ͕ࣗ༝ʹΈࠐΈՄೳͳϑοΫؔΛ༻͍ͯγεςϜมԽʹैͰ͖Δ SSHϓϩΩγαʔόΛఏҊ͢Δ • Ϣʔβʹ༻͍ΔΫϥΠΞϯτπʔϧͷ੍ݶมߋΛ՝͞ͳ͍ • ΈࠐΉϑοΫؔͷΈͷमਖ਼ͰϓϩΩγαʔόͷಈ࡞Λࣗ༝ʹม͑ΒΕΔͨΊɼ γεςϜͷ༷มߋʹରͯ͠ߴ͍֦ுੑΛ༗͢Δ طଘSSHϓϩΩγαʔό
ͱಉ͡ར SSHΫϥΠΞϯτ ssh username@hostname Ϣʔβ໊ ଓઌϗετ ཧσʔλ ϑοΫؔ SSH ϓϩΩγαʔό αʔό܈
13 ΈࠐΈՄೳͳϑοΫؔ • ϑοΫؔSSHϦΫΤετ͝ͱʹຖճ࣮ߦ͞ΕΔ • SSHͷϢʔβ໊ΛͱʹଓઌαʔόͷIPΞυϨεɾϗετ໊Λऔಘ͢Δؔ • ܾఆͨ͠ଓઌαʔόͱΫϥΠΞϯτؒͷެ։伴ೝূΛ֦ு͢ΔͨΊͷؔ • ͜ΕΒΛ༻͍ΔͱɼSSHϓϩΩγαʔόʹ͓͚Δଓઌͷܾఆ͓Αͼެ։伴ೝূΛ
ϓϩάϥϚϒϧʹ֦ுͰ͖Δɽ • ϑοΫؔʹΑΔ֦ுੑʹΑΓɼҎԼͷબੑ͕ੜ·ΕΔ • Ϣʔβͱαʔόͷඥ͚ใɼೝূʹ༻͍Δ伴ͳͲͷཧσʔλΛσʔλϕʔ εɾಠࣗͷઃఆϑΝΠϧͷࣗ༝ͳσʔλܗࣜͰཧͰ͖Δɽ • ཧσʔλΛऔಘ͢Δํ๏ΛWeb APIܦ༝ʹ͢ΔͳͲɼσʔλͷऔಘํ๏Λࣗ༝ ʹબͰ͖Δɽ
14 ϢʔβೝূͷΈ SSH ΫϥΠΞϯτ SSH αʔό SSHϓϩΩγ ύεϫʔυೝূํࣜ ެ։伴ೝূํࣜ SSH
αʔό ೝূϦΫΤετ ೝূϨεϙϯε SSHϓϩΩγSSHαʔόʹύέοτ Λసૹ͢ΔͷΈͰ͋ΓɼSSHαʔό͕ ೝূΛߦ͏ SSHϓϩΩγ Session ID: xxx Session ID: yyy ηογϣϯ͝ͱʹҰҙͷࣝผࢠΛؚΊ ͨσʔλΛൿີ伴Ͱॺ໊͠ɼೝূϦΫ ΤετΛૹΔͨΊɼSSHϓϩΩγೝূ ΛSSHαʔόʹͤΔ͜ͱ͕Ͱ͖ͳ͍ɽ ผͷൿີ伴Λ༻͍ͨ2ஈ֊ͷೝূ SSHϓϩΩγ͕ެ։伴 ݕࡧͷϑοΫؔΛ༻ ͍ͯΫϥΠΞϯτͷೝ ূΛߦ͏ɽ 1ஈ֊ SSHαʔόʹSSHϓϩΩγ ͕อ࣋͢Δಛఆͷൿີ伴 Λશͯड͚ೖΕΔΑ͏ʹ ઃఆ͓ͯ͘͠ 2ஈ֊ SSH ΫϥΠΞϯτ
15 SSHϓϩΩγαʔόɿsshr • ఏҊ͢ΔΞʔΩςΫνϟΛ࣮ݱ͢ΔͨΊʹɼGoݴޠΛ༻͍ͯsshrͱ͍͏SSHϓϩΩγ αʔόΛOSSͱͯ͠։ൃ※1 • γεςϜཧऀ͕GoݴޠͰ࣮ͨؔ͠ΛΈࠐΜͰϏϧυ͢Δ͜ͱͰɼϓϩΩγ αʔόͷػೳΛ֦ுͰ͖ΔΈΛͱ͍ͬͯΔɽ ΈࠐΈՄೳͳϑοΫؔ ໊ؔ
ׂ/ఆ͞ΕΔॲཧ FindUpstreamHook Ϣʔβ໊ΛΩʔʹଓઌαʔόͷIPΞυϨε·ͨ ϗετ໊ΛσʔλϕʔεWeb APIܦ༝Ͱऔಘ FetchAuthorizedKeysHook Ϣʔβͷެ։伴ΛσʔλϕʔεWeb APIܦ༝Ͱ औಘ FetchPrivateKeyHook sshrαʔόͷϩʔΧϧετϨʔδʹอ͞Ε͍ͯ Δൿີ伴Λऔಘ ϦΫΤετͷॲཧͷաఔ Ͱ͜ΕΒͷϑοΫ͕ؔ ॱ࣍ݺͼग़͞ΕΔ ※1 https://github.com/tsurubee/sshr
16 ηΩϡϦςΟϦεΫ • ύεϫʔυೝূํࣜͷ߹ • sshrαʔόSSHαʔόʹύέοτΛసૹ͢ΔͷΈͰ͋ΓɼϢʔβͷύεϫʔ υΛ͍ͬͯͯɼೝূΛߦ͏͜ͱ͕Ͱ͖ΔͷSSHαʔόͷΈͰ͋ΔͨΊɼ sshrαʔόΛ༻͍ͨ߹ͰೝূΛಥഁ͞ΕΔϦεΫมΘΒͳ͍ɽ • ެ։伴ೝূํࣜͷ߹
• sshrαʔόͷηΩϡϦςΟͷsshrσʔϞϯͷ੬ऑੑͳͲ͕ݪҼͰ • sshrαʔό͕༗͍ͯ͠Δൿີ伴͕ྲྀग़͢Δɽ • sshrαʔό͔Βൿີ伴Λར༻ͨ͠ҙͷίϚϯυ͕࣮ߦ͞ΕΔɽ
17 ηΩϡϦςΟରࡦ sshrαʔόଆ SSHαʔόଆ ɹରࡦ ޮՌ αʔόʹϩάΠϯՄೳͳϢʔβͷ ݖݶɼΞΫηεՄೳͳIPΛ࠷খݶʹߜΔ ൿີ伴ͷྲྀग़Λ͙ sshrσʔϞϯrootݖݶΛ࣋ͨͳ͍Ϣʔβ
Ͱ࣮ߦ͢Δ ҙͷίϚϯυ͕࣮ߦ͞Εͨ߹ʹsshrαʔόʹ ର͢Δૢ࡞Λ੍ݶ͢Δ ɹରࡦ ޮՌ rootͰϦϞʔτϩάΠϯΛڐՄ͠ͳ͍ઃఆ ྫʣsshd_configͷPermitRootLogin SSHαʔόʹର͢Δૢ࡞ͷݖݶΛ੍ݶ͢Δ sshrͷൿີ伴ʹର͢ΔଓݩIP੍ݶ ྫʣauthorized_keysͷIP੍ݶػೳ ൿີ伴͕֎෦ʹྲྀग़ͨ͠ࡍͷඃΛ͙
4. ੑೳධՁͱߟ
19 sshrͷΦʔόʔϔου • sshrͰɼSSHϦΫΤετ͝ͱʹ࣮ߦ͞ΕΔෳͷϑοΫؔʹΑΓɼ௨৴ͷ Φʔόʔϔου͕ൃੜ͢Δɽ • ͜ͷΦʔόʔϔουΛଌఆ͢Δ͜ͱͰɼఏҊ͢Δsshrͷಋೖ͕SSHଓͷॲཧ࣌ؒ ʹ༩͑ΔӨڹΛධՁ͠ɼsshr͕࣮༻తͳڥʹ͑͏Δ͔ݕ౼͢Δɽ
20 ࣮ݧ༰ͱ݅ sshrΛհ͞ͳ͍ΫϥΠΞϯτͱαʔόؒͷଓʢӈਤ1ʣͱɼ ఏҊख๏Ͱ͋ΔsshrΛհͨ͠ଓʢӈਤ2ʣͰൺֱΛߦ͏ɽ ҎԼͷ2ύλʔϯͷ࣮ߦ࣌ؒͷଌఆΛߦ͏ ɹ1. unameίϚϯυΛ࣮ߦͨ͠߹ ɹ2. scpʢsecure copyʣʹΑΓϑΝΠϧΛసૹͨ͠߹
࣮ݧ༰ • ༻͍Δ࣮ݧڥӈදࢀর • ΫϥΠΞϯτɾαʔόؒͷೝূʹެ։伴ೝূΛ༻͍Δ • sshr͕࣮ߦ͢ΔϑοΫؔɼଓઌͷܾఆॲཧ͓Αͼ Ϣʔβͷެ։伴ݕࡧͷॲཧͷ͍ͣΕʹ͓͍ͯɼผαʔό ্ͷσʔλϕʔε͔Βࢀর͢Δͷͱ͢Δ • σʔλϕʔεతͷϨίʔυҎ֎Λؚ·ͳ͍ͷͱ͢Δ ڥɾ݅
21 unameίϚϯυͷ࣮ߦ unameίϚϯυ࣮ߦ࣌ؒͷଌఆ݁Ռ ※ ࣮ߦ࣌ؒશͯ100ճଌఆͷฏۉ ※ +22msec • ΫϥΠΞϯτɾαʔόؒͷSSHଓʹରͯ͠sshrΛհͨ͠߹ɼunameίϚϯυ࣮ߦͷ Φʔόʔϔου22msecͰ͋Δ͜ͱ͕͔ͬͨɽ
• ͜Εηογϣϯཱ֬࣌ʹ࣮ߦ͞ΕΔϑοΫؔʢࠓճͷ߹2ճͷσʔλϕʔεݕࡧʣ ͕Өڹ͍ͯ͠Δͱߟ͑ΒΕΔɽ • sshrΛհ͢Δ͜ͱͰൃੜ͢ΔΦʔόʔϔουɼSSHηογϣϯཱ֬࣌ʹϢʔβ͕Ԇ Λײ͡ͳ͍΄Ͳ͍࣌ؒͰ͋Δɽ
22 scpʹΑΔϑΝΠϧసૹ scpʹΑΓసૹ͢ΔϑΝΠϧͷαΠζͱ సૹ࣌ؒͷؔ • 20MBͷϑΝΠϧΛసૹ͢Δ߹ɼsshrΛհ͢Δ͜ͱͰൃੜ͢Δ Φʔόʔϔου48ϛϦඵͰ͋ΓunameίϚϯυ࣮ߦͷ݁Ռ ΑΓେ͖͍ɽ • సૹ͢ΔϑΝΠϧαΠζ͕େ͖͘ͳΔʹͭΕͯɼൃੜ͢Δ
Φʔόʔϔου͕େ͖͘ͳΔ͜ͱ͔ΒɼsshrΛհ͢Δ߹ɼ sshrαʔό͕ύέοτΛϑΥϫʔυΛ͢Δ͜ͱʹΑΔΦʔόʔ ϔου͕Өڹ͍ͯ͠Δͱߟ͑ΒΕΔɽ • ͔͠͠ͳ͕Βɼྫ͑100MBͷϑΝΠϧసૹͷ߹ʹண͢Δ ͱɼసૹ࣌ؒͷ૿ՃΘ͔ͣ0.9%ఔͰ͋Γɼશମͷసૹ࣌ ؒʹରͯ͠sshrΛհ͢Δ͜ͱͰൃੜ͢ΔΦʔόʔϔου͕ΊΔ ׂ߹ۃΊͯখ͍͞ɽ
23 ࣮ڥͷద༻ • Ϣʔβ͕ෳͷαʔό܈ͷத͔Βಛఆͷαʔόʹରͯ͠SSHϩάΠϯ͠ɼαʔόͷૢ࡞Λ ߦ͏͜ͱɼϑΝΠϧΛసૹ͢ΔΑ͏ͳαʔόཧΛఆͨ͠߹ɼsshrͷΦʔόϔου ࣮༻ʹेʹ͑͏Δ΄Ͳখ͍͞ɽ • ҰํɼsshrͰॲཧͷաఔͰɼσʔλϕʔεͷཧσʔλ͔Βଓઌαʔόެ։伴Λ ݕࡧ͢ΔͨΊɼσʔλϕʔεWeb APIͷԠ͕࣌ؒେ͖͍߹ɼͦΕʹ͍sshrΛ
հͨ͠SSHηογϣϯཱ֬ʹ͔͔Δ࣌ؒ͘ͳΔɽͦͷ߹ɼԠ࣌ؒΛ͘͢Δର ࡦΛߦ͏ඞཁ͕͋Δɽ
5. ·ͱΊ
25 ·ͱΊ • ຊݚڀͰɼϢʔβʹ༻͍ΔΫϥΠΞϯτπʔϧͷ੍ݶมߋΛཁٻͤͣɼγε ςϜཧऀ͕ࣗ༝ʹΈࠐΈՄೳͳϑοΫؔΛ༻͍ͯγεςϜมԽʹैͰ͖ Δsshrͱ͍͏SSHϓϩΩγαʔόΛఏҊͨ͠ɽ • ఏҊख๏ɼΈࠐΉϑοΫؔͷΈͷमਖ਼ͰϓϩΩγαʔόͷಈ࡞Λࣗ༝ʹม ͑ΒΕΔͨΊɼγεςϜͷ༷มߋʹରͯ͠ߴ͍֦ுੑΛ༗͍ͯ͠Δɽ •
͞Βʹ࣮ݧ͔ΒɼΫϥΠΞϯτɾαʔόؒʹsshrΛಋೖͨ͠߹ͷSSHηογϣ ϯཱ֬ͷΦʔόʔϔου20ϛϦඵఔͰ͋ΓɼϢʔβ͕ಛఆͷαʔόʹSSHϩ άΠϯ͢ΔࡍʹԆΛײ͡ͳ͍΄Ͳ͍࣌ؒͰ͋Δ͜ͱΛࣔͨ͠ɽ