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
630
言語モデルによるAI創薬の進展 / Advancements in AI-Driven Drug Discovery Using Language Models
tsurubee
2
650
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
Language and AI
ayaniwa
0
230
JICA QUEST 共創×革新プログラム Impact Report(海ノ向こうコーヒー)
ontheslope
0
570
IA for theory
gpeyre
1
410
Harness Engineering and Al Agent
kzinmr
3
2k
OWASP AISVS - C7
shiell
2
730
シングルチャネルマルチトーカー音声認識の進展
ryomasumura
0
260
医療LLMの現在地〜最新研究から社会実装までを考える〜
kento1109
1
1.7k
【Zozo Research 技術共有会】三次元領域の現在と展望
mickey_0226
3
610
Cross-Media Human-Information Interaction
signer
PRO
0
230
Anthropic が提案する LLM の内部状態を自然言語で説明可能にした Natural Language Autoencoders / Natural Language Autoencoders Produce Unsupervised Explanations of LLM Activations
shunk031
0
210
最先端NLP 2026 論文紹介: Wait, Wait, Wait... Why Do Reasoning Models Loop? / SNLP Paper Review: Wait, Wait, Wait... Why Do Reasoning Models Loop?
tkng
0
220
EIRによる不正端末のブロッキング 5G時代におけるデバイス識別と不正対策の進化
stellarcraft
0
130
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
340
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
Designing Powerful Visuals for Engaging Learning
tmiket
1
540
Mind Mapping
helmedeiros
1
350
Product Roadmaps are Hard
iamctodd
55
13k
The Language of Interfaces
destraynor
162
27k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
230
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Believing is Seeing
oripsolob
1
210
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
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ϩ άΠϯ͢ΔࡍʹԆΛײ͡ͳ͍΄Ͳ͍࣌ؒͰ͋Δ͜ͱΛࣔͨ͠ɽ