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
sshで快適テレワーク
Search
koedoyoshida
March 28, 2020
Technology
0
140
sshで快適テレワーク
今まで:最強のSSH踏み台設定
これから:-J
温故知新:ワイルドカードマッチ
自宅サーバ活用:autossh&systemd
koedoyoshida
March 28, 2020
Tweet
Share
More Decks by koedoyoshida
See All by koedoyoshida
AlmaLinux 10 / 9.6 リリース! ―変わるところと変わらないところ―
koedoyoshida
0
170
almalinux.orgの翻訳による貢献
koedoyoshida
0
87
CentOS 7サポート終了直前!次はどうする?
koedoyoshida
1
570
止まらないLinuxシステムを構築する_高信頼性クラスタ入門
koedoyoshida
4
3.9k
CentOS7サポート終了まで約半年 EoL後のOSを使い続けるとどうなる?
koedoyoshida
0
730
SSHで快適リモートワーク
koedoyoshida
0
370
SBOMってなんだ?~最近話題のSBOMを簡単に解説~
koedoyoshida
2
700
AlmaLinuxのパッケージはどこから来たんだろう
koedoyoshida
0
490
Home sshd DDOS measures
koedoyoshida
0
150
Other Decks in Technology
See All in Technology
Rubyで作る論理回路シミュレータの設計の話 - Kashiwa.rb #12
kozy4324
1
320
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
310
IIWレポートからみるID業界で話題のMCP
fujie
0
540
評価の納得感を2段階高める「構造化フィードバック」
aloerina
1
260
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
250
(非公式) AWS Summit Japan と 海浜幕張 の歩き方 2025年版
coosuke
PRO
1
300
OCI Oracle Database Services新機能アップデート(2025/03-2025/05)
oracle4engineer
PRO
1
180
Perk アプリの技術選定とリリースから1年弱経ってのふりかえり
stomk
0
110
從四件事帶你見識見識 事件驅動架構設計 (EDA)
line_developers_tw
PRO
0
160
AWS全冠したので振りかえってみる
tajimon
0
150
BigQuery Remote FunctionでLooker Studioをインタラクティブ化
cuebic9bic
2
110
エンジニア採用から始まる技術広報と組織づくり/202506lt
nishiuma
8
1.7k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Music & Morning Musume
bryan
46
6.6k
Embracing the Ebb and Flow
colly
86
4.7k
Statistics for Hackers
jakevdp
799
220k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Adopting Sorbet at Scale
ufuk
77
9.4k
Gamification - CAS2011
davidbonilla
81
5.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Designing Experiences People Love
moore
142
24k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
We Have a Design System, Now What?
morganepeng
52
7.6k
Transcript
SSHで快適テレワーク 吉田@板橋
ネタ • 今まで:最強のSSH踏み台設定 • これから:-J • 温故知新:ワイルドカードマッチ • 自宅サーバ活用:autossh
今まで:最強のSSH踏み台設定 .ssh/config: # https://qiita.com/kawaz/items/a0151d3aa2b6f9c4b3b8 Host */* ProxyCommand ssh -W "$(basename
"%h")":%p "$(dirname "%h")" #ホスト鍵無条件に受け入れて、ファイルを更新 StrictHostKeyChecking no Host *+* ProxyCommand ssh -W "$(sed -E 's/.*¥+//'<<<"%h")":%p "$(sed -E 's/¥+[^¥+]*//'<<<"%h")" StrictHostKeyChecking no # ssh hoge.com/192.168.x.x #会社gateway+自席サーバ # ssh hoge.com+192.168.x.x #会社gateway/自席サーバ
これから:-J openssh-7.3 以降 # ssh -J hoge.com 192.168.x.x #会社sshgateway 会社サーバ
Configなしでやれる! 参考: https://qiita.com/kawaz/items/a0151d3aa2b6f9c4b3b8
温故知新:ワイルドカードマッチ .ssh/config: Host desk01* HostName 192.168.x.x Host desk02* HostName 192.168.x.x
ProxyCommand=ssh -W %h:%p sshgateway Match originalhost *-ofwd dynamicForward 8080 LocalForward 65422 localhost:22 $ ssh desk01-ofwd #直接接続 $ ssh desk02-ofwd #外部接続、shellscript 等で順番にtryする等でより省力化、高度化 詳細は実用SSH 第二版 P288 多重マッチ
さて • 「SSHのgatewayサーバやVPNサーバなんてうちの会社には準 備されてないよ!」
そんなあなたにautossh • autosshとは • sshクライアントを自動起動するプログラム • https://packages.debian.org/buster/autossh • リモートのsshサーバに(リバース: -R)ポートフォワード等が可能
• 後述のデフォルト設定はローカルフォワード(-L)なので書き換える • リバースポートフォワードで自宅サーバをssh踏み台に! • 使用例 • 会社サーバ(autossh)から自宅サーバ(sshd)に接続することにより自宅サーバポート に会社サーバのsshportへ転送するportを作ることができる • 自宅サーバにDDNS等でsshアクセスできれば、会社サーバはNAT下でもOK • セキュリティ • sshdのデフォルトは自宅サーバのlocalloopbackのみ許可(GatewayPorts=no)なので 使用時は自宅サーバからssh clientで接続 (つまり踏み台) • デフォルト(GatewayPorts=no)ではパブリック(0.0.0.0)には公開されていない • 御社のセキュリティ要件はご確認ください! • At your own risk. 自宅サーバ 会社サーバ sshdport へ転送 会社サーバ 作業PC ssh client sshd sshd autossh
さらにautosshをsystemdでサービス化し てssh接続を安定化 • https://remoteroom.jp/diary/2019-07-18/ • https://gist.github.com/ttimasdf/ef739670ac5d627981c5695 adf4c8f98 • 要両サーバのroot •
相互にssh専用ユーザを作成してポートフォワード専用にする • systemd設定 • autosshの死亡時に自動で再開 • 会社サーバの再起動時に自動で再開 • 安定性向上!
構成 • NAT下にある会社PC • sshdが動いていること • systemdが動いていること • sshで自宅サーバに接続できること •
rootを持っていること • (DDNS等で)インターネットからsshアクセス出来る自宅サーバ • sshdが動いていること • rootを持っていること • 自宅サーバにアクセス出来る作業用PC(自宅サーバと同じでも よい) • sshクライアントが動いていること 自宅サーバ 会社サーバ sshdport へ転送 会社サーバ 作業PC ssh client sshd sshd autossh
手順 • systemdひな形取得 • curl -sSL https://gist.githubusercontent.com/ttimasdf/ef739670ac5d627981c5695adf4c8f98/raw/autossh@host1 | ¥ •
sudo tee /etc/default/autossh@example • curl -sSL https://gist.githubusercontent.com/ttimasdf/ef739670ac5d627981c5695adf4c8f98/raw/
[email protected]
| ¥ • sudo tee /etc/systemd/system/
[email protected]
• 専用ユーザ作成(自宅サーバ、会社サーバ両方)、公開鍵作成、ssh接続 • sudo useradd -g nogroup -s /bin/false -m tunnel • sudo -u tunnel mkdir -p ~tunnel/.ssh • sudo -u tunnel nano ~tunnel/.ssh/config • sudo -u tunnel ssh remote.example.com #自宅サーバ • (設定ファイル名変更:オプション) • cp /etc/default/autossh@example /etc/default/autossh@hoge • 設定変更 • sudo nano /etc/default/autossh@example • /etc/default/autossh@example内の次の2行を編集する • TARGET_HOST=remote.example.com • 接続サーバ(自宅サーバ) • FORWARDS=-R 10022:127.0.0.1:22 • -Rオプション:リバースポートフォワード 、10022(任意:自宅サーバ側の空ポート番号)、22(会社サーバでの既存sshポート番号) • 接続 • sudo systemctl start
[email protected]
• 永続化 • sudo systemctl enable
[email protected]
自宅サーバ 会社サーバ sshdport へ転送 会社サーバ 作業PC ssh client sshd sshd autossh systemd 制御監視
SSHで快適テレワーク! • 参考URL • 最強のSSH踏み台設定 • https://qiita.com/kawaz/items/a0151d3aa2b6f9c4b3b8 • autossh&systemd •
https://remoteroom.jp/diary/2019-07-18/ • https://gist.github.com/ttimasdf/ef739670ac5d627981c5695adf4c8f 98