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
660
言語モデルによるAI創薬の進展 / Advancements in AI-Driven Drug Discovery Using Language Models
tsurubee
2
660
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
Claude Code × autoresearch 実践
mathbullet
0
290
実例から見るLLMのマンガ理解:実務VQAタスクによる長期的文脈と視覚情報の定性評価
kzmssk
0
170
クラウド・AI 時代の研究開発 DX / R&D Digital Transformation
hariby
0
180
MM-OVSeg: Multimodal Optical–SAR Fusion for Open-Vocabulary Segmentation in Remote Sensing
satai
3
150
XDPerf: A High-Performance Traffic Generator Built with WASM and eBPF
takehaya
1
320
最先端NLP勉強会2026 論文紹介:Reasoning with Sampling: Your Base Model is Smarter Than You Think (ICLR 2026 paper)
kogoro
4
660
ふとした出会いで生まれたSkillが、 社内利用1位になるまで
mikimhk
22
24k
JPA2026_NetworkTutorial_JunKashihara
junkashihara
0
200
HAKARI-Bench - 実運用視点での情報検索モデル評価ベンチマーク
hotchpotch
1
780
論文読み会 SNLP2026 Tau2-Bench: Evaluating Conversational Agents in a Dual-Control Environment
s_mizuki_nlp
0
280
ros2-perf-multihost: 分散システムにおける客観的なアーキテクチャ評価フレームワーク
takasehideki
0
280
マーケットストリート 社会実験2024 in 秋葉原ジャンク通り 調査報告書
izumiyama_lab
1
160
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2.2k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
470
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
270
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
480
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Become a Pro
speakerdeck
PRO
31
6.3k
How GitHub (no longer) Works
holman
316
150k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Rails Girls Zürich Keynote
gr2m
96
14k
The Limits of Empathy - UXLibs8
cassininazir
1
690
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
250
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
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ϩ άΠϯ͢ΔࡍʹԆΛײ͡ͳ͍΄Ͳ͍࣌ؒͰ͋Δ͜ͱΛࣔͨ͠ɽ