More Related Content
Similar to SSHの便利な使い方〜マイナーな小技編〜 (20)
SSHの便利な使い方〜マイナーな小技編〜
- 7. ①ワンステップ多段ログイン(2/3)
● ssh_configに ProxyCommand を記述します。
●
➔
➔ client で ssh server と打つだけで、serverへのログイ
ンが可能に。(必要に応じて鍵登録は行う)
GSS... はログイン時に異常に待たされる事象対策
● 何が嬉しいの?
● 面倒くさくない。scp で中間ファイル不要等。
Host server
ProxyCommand ssh gw nc server 22
GSSAPIAuthentication no
NW2NW1
client gw server
- 8. NW2NW1 NW3 NW4
①ワンステップ多段ログイン(3/3)
● 応用編
➔
➔
“%h”, “%p” でホスト名とポート番号を一般化
➔
Hostに複数ホスト複数ホストを記述可能
➔
➔
➔ 好きなだけ多段化可能(↑clientでssh server3が可)
Host server1 server2 *.example.jp
ProxyCommand ssh gw nc %h %p
Host gw2
ProxyCommand ssh gw nc %h %p
Host gw3
ProxyCommand ssh gw2 nc %h %p
Host server3
ProxyCommand ssh gw3 nc %h %p
client gw server3gw2 gw3
- 13. ③VPN over ssh(1/5)
● SSHは -L や -R で様々なTCPセッションを転送
できるのは有名です
●
→ 本来できないはずの逆向きのsshを可能にしたり
●
→ まるでjnspcからのSMTP接続かのように見せかけたり
● etc...
● 転送したい接続の種類だけ ssh -L, ssh -R すれ
ば、あらゆるTCPセッションの転送が可能。
user@knzpc% ssh -L 10025:smtp.srv.cc.example.jp:25 jnspc
user@jnspc% ssh -R 10022:localhost:22 knzpc
- 15. ● 以下のような環境を想定
● client – server 間をL2-VPNでつなぐ
● client, server は Fedora (RH系) を想定
● VPNのNWは192.168.1.0/24とする
③VPN over ssh(3/5)
NW2NW1
client gw server
br9: 192.168.1.1
tap9 tap9
br9: 192.168.1.2
SSH Tunnel
- 16. ③VPN over ssh(4/5)
● clientの設定
●
root の ssh_config
● ifcfg-br9 ・ ifcfg-tap9
Host *
ControlMaster auto
ControlPath ~/.ssh/.sock-%l-%r@%h:%p
ControlPersist yes
Host server-tun ← 普通の接続と区別のため「server-tun」に
HostName server ← 本当のホスト名を指定
ProxyCommand ssh gw nc %h %p
Tunnel ethernet ← トンネル設定(L2 VPN)
TunnelDevice 9:9 ← 両者のデバイス番号を9に固定
LocalCommand ifup tap9 ← VPN接続後トンネルデバイスを有効化
DEVICE=br9
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.1.1
NETMASK=255.255.255.0
DEVICE=tap9
ONBOOT=no
BRIDGE=br9
clientclient
- 17. ③VPN over ssh(5/5)
● serverの設定
●
sshd_config(抜粋)
●
ifcfg-br9 ・ ifcfg-tap9
● 接続実行
ね、簡単でしょう?
PermitTunnel yes
DEVICE=br9
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.1.1
NETMASK=255.255.255.0
DEVICE=tap9
ONBOOT=no
BRIDGE=br9
serverserver
root@client# ssh server-tun ifup tap9