はじめに
外出先から自宅LANにsshでいろいろアクセスしてみたのでメモ
試してみたこと
- sshエージェント転送
- 外出先のローカルPCにリモートサーバ(Ubuntu)のブラウザを表示させてみた
SSHエージェント転送
環境
- PC
- Windows10上のCentOS6.10(VirtualBox)
- 踏み台サーバ
- GCEのCentOS6.10
- 自宅LANのサーバA
- 自宅LANのグローバルIPにsshすると自宅ルータからフォワーディングされるサーバー
普段は外出先PCからサーバAに直接sshしているが、今回はGCEを経由してsshアクセスしてみました
sshエージェント転送とは
概要
【外出先】 【GCE】 【自宅LAN】
PC---------->踏み台サーバー---------->サーバーA
(ssh) (ssh)
前提
PCからサーバーAに対してPCの秘密鍵で公開鍵認証でログインできること
sshエージェント転送でできること
- 踏み台サーバからサーバAにsshするときに
手元のPCの秘密鍵
でサーバAに公開鍵認証
できるようになる - 秘密鍵を踏み台サーバに置かなくてよい
sshエージェント転送利用方法
PC------>踏み台サーバー
外出先でPCにてssh-agentの起動 (MAC,Ubuntuは不要みたい)
$ eval "$(ssh-agent)"
Agent pid 4312
秘密鍵の登録
$ ssh-add 秘密鍵の場所
Identity added: 秘密鍵の場所
登録の確認
$ ssh-add -l
2048 xxxxxxxxxxxxxxxxxxxxxxx 秘密鍵の場所 (RSA)
踏み台サーバへのアクセス(-Aでエージェント転送を有効)
ssh -A 踏み台サーバIP
踏み台で確認(手元のPCの秘密鍵のディレクトリ構成の秘密鍵が表示される)
$ ssh-add -l
2048 xxxxxxxxxxxxxxxxxxxxxxx 秘密鍵の場所 (RSA)
踏み台サーバー------>サーバーA
サーバーAにssh。外出先の手元にあるPCの秘密鍵で公開鍵認証でsshログインできる
ssh サーバーAのIP
外出先のローカルPCにリモートサーバのブラウザを表示させてみた
環境
- PC
- Windows10上のCentOS6.10(VirtualBox)
- 踏み台サーバ
- 自宅LANのCentOS6.10
- 自宅LANのサーバA
- Ubuntuデスクトップ
概要
【外出先】 【自宅LAN】 【自宅LAN】
PC---------->踏み台サーバ---------->サーバーA
(ssh) (ssh)
- 踏み台サーバ
- 自宅LANにsshするときにルータからフォワーディングされるサーバ。外出先からsshするとまずははここにたどり着く
- サーバーA
- このサーバーのブラウザをPCに表示させる
トンネルの作成
- -L でローカルPCの50022ポート(wellknownポート以外で何番でもよい)を指定
- PCの50022ポートから踏み台サーバにアクセスしてその後、サーバAのIPポート22につなげるトンネル
- このプロセスはそのままにしておく(端末をそのまま)
ssh 自宅グローバルIP(踏み台にフォワーディングされる) -L 50022:サーバAのIP:22
イメージ
【外出先】 【自宅LAN】
PC-------------------->サーバーA
(sshトンネル)
リモートサーバのブラウザのローカルPCでの表示
ポートはトンネルで作成したポートを指定してsshでXオプションをつけてアクセス。するとトンネルを通って(踏み台を通り)一気にサーバAにアクセス
ssh -p 50022 サーバAのユーザ名@localhost -X
ブラウザを起動するとサーバAのブラウザがローカルに表示される
firefox