ポートフォワーディングを使うとリモート環境もあたかもローカルにあるように扱うことができる。
ローカル -> リモート
書式
$ ssh -fNL ローカルポート
:リモートネットワーク
:リモートポート
リモート
こちらのサイトの
を参考。
mysql
mysql
$ ssh -fNL 3307:localhost:3306 remote
$ mysql -uroot -P 3307
http
http
$ ssh -fNL 8080:localhost:80 remote
- http://localhost:8080 にアクセスし画面が表示されることを確認。
ローカル <- リモート
ssh
$ ssh -N -R 8090:localhost:22 remote
(リモート)$ ssh localhost -p 8090
その他
VPN代わり (ローカル -> リモート)
$ sshuttle -r remote 0/0 -vv
- 構成
- ローカル: 192.168.12.0/24
- リモート: 192.168.24.0/24
- 解説
- ローカルからリモート内のネットワークに自由にアクセスできる。
接続元を確認
$ who am i
keepalive (ローカルに設定)
サーバーからの自動切断を防ぐ
# 秒
ServerAliveInterval 10
ServerAliveCountMax 12
サーバー側で自動切断したい場合(sshd_config)
# 秒
ClientAliveInterval 60
踏み台を利用してそのままSSH
$ ssh -t myhome.co.jp ssh myserver.co.jp
解説
- 接続元から、myhome.co.jpに接続し、そのままmyserver.co.jpに接続。
- リモートに直接入りたい&切断を一回で終わりたい場合使用。
ダイナミックフォワーディング(socksサーバー)
$ ssh -ND 8080 myserver.co.jp
解説
- 接続元の端末でsocksサーバーの指定をlocalhost:8080にする。
- ブラウザでmyserver.co.jp内のローカルネットワークにアクセスできる。
- 例) http://192.168.40.? のアドレスを入力すると、そのアドレスにアクセスできる。