研究室サーバへ外部から接続する方法をまとめる. Cloudflare Zero Trust, Cloudflare Accessを使っているため,研究室サーバへの接続は VPN を通さずに行うことができる.
brew install cloudflared
すでにある~/.ssh/config
に以下の設定を追加する.
Host crab-remote # 任意の名前 元々あるものと区別するため
HostName ssh.matsunagalab.org/crab
User <USERNAME>
ProxyCommand /opt/homebrew/bin/cloudflared access ssh --hostname %h
IdentityFile <秘密鍵のパス>
Host floyd-remote
HostName ssh.matsunagalab.org/floyd
User <USERNAME>
ProxyCommand /opt/homebrew/bin/cloudflared access ssh --hostname %h
IdentityFile <秘密鍵のパス>
Host m1-remote
HostName ssh.matsunagalab.org/m1
User <USERNAME>
ProxyCommand /opt/homebrew/bin/cloudflared access ssh --hostname %h
IdentityFile <秘密鍵のパス>
Host m2-remote
HostName ssh.matsunagalab.org/m2
User <USERNAME>
ProxyCommand /opt/homebrew/bin/cloudflared access ssh --hostname %h
IdentityFile <秘密鍵のパス>
<USERNAME>
は自分のユーザ名に置き換える.
<秘密鍵のパス>
は自分の秘密鍵のパスに置き換える.元々それぞれのサーバーで使っているものを指定する.
これで,以下のように接続できる.
ssh crab-remote
ssh floyd-remote
ssh m1-remote
ssh m2-remote
最初,接続するときには,自動でブラウザが開いてGitHub認証を求められるので,認証を行う.
これで,研究室サーバへの接続ができるようになる.
仕組みとしては,cloudflared
を使って,Cloudflareのアクセス制御をバイパスして,研究室サーバへのSSH接続を行っている.
Jupyter NotebookのURL
これらのURLにアクセスすると,GitHub認証を求められるので,認証を行う. その後,Jupyterのログイン画面が表示される.
- どちらの方法も,研究室内外のネットワークによらずに接続できる.
- ただし,研究室内のネットワークから接続する場合は,従来のローカルネットワーク内のIPアドレスを使った接続の方が速い.