概要
- 家のラズパイに外から接続したい
- グローバルIPを持っていないので接続できない
- ラズパイの sshd を onion service にして世界中どこからでもアクセスできるようにする
はじめは SoftEther VPN on Azure しようとしたけどなんか繋がらなかったので Tor を使った。
server (raspbian stretch) の設定
sshd の設定方法は省略。
グローバルIPを晒すときも同じだがセキュリティには十分配慮すること。
- SSHDはパスワードログインの無効化や公開鍵認証にする
-
uwf
などでファイヤフォールを設定 -
unattended-upgrades
などで自動アップデートする
など。
tor をインストール
sudo apt-get install tor
tor の onion service 設定で /etc/tor/torrc
の 22 番を開けておく
HiddenServiceDir /var/lib/tor/ssh_hidden_service/
HiddenServicePort 22 127.0.0.1:22
デーモンを再起動
sudo systemctl restart tor
Onion Service の hostname をメモっておく
sudo cat /var/lib/tor/ssh_hidden_service/hostname
client (Ubuntu 18.04 Bionic Beaver) の設定
sudo apt-get install tor connect-proxy
プロクシを設定する。
プロクシのやり方は connect-proxy
を使う以外にも色々あるようだ(下記リンク参照)
cat <<'EOF'>> ~/.ssh/config
Host *.onion
ProxyCommand connect -R remote -5 -S 127.0.0.1:9050 %h %p
ForwardX11 yes
EOF
接続(鍵設定は省略)
ssh user@hostname.onion
onion service の hostname は公の場には公開しないこと。
[おまけ] Termux (0.60) で Android から接続する
apt install tor torsocks openssh
termux には systemd がないので自分でデーモン起動する
tor&
接続(鍵設定は省略)
ssh user@hostname.onion
[おまけ] raspberry pi に最新版の Tor を入れて Onion Service v3 を使う
stretch に入ってる tor
は 0.2x 系なので、最新の 0.3x が欲しい場合
を参考に 0.3 系のリポジトリを登録する必要があります。
cat <<'EOF' | sudo tee -a /etc/apt/sources.list
deb https://deb.torproject.org/torproject.org stretch main
#deb-src https://deb.torproject.org/torproject.org stretch main
deb https://deb.torproject.org/torproject.org tor-experimental-0.3.3.x-stretch main
#deb-src https://deb.torproject.org/torproject.org tor-experimental-0.3.3.x-stretch main
EOF
この tor-experimental-0.3.3.x-stretch
は 2018 年 6 月現在のものです。上記 torproject のサイトでより新しいバージョンがないか確認してください。
sudo apt-get install dirmngr --install-recommends
gpg --keyserver keys.gnupg.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
apt update
apt install tor deb.torproject.org-keyring
これで 0.3 系が使えるようになります。
tor 0.3x からは より秘匿性が高く安全な Onion Service v3 が使えるようになります。設定は下記 URL を参考にしてください。
- https://www.jamieweb.net/blog/onionv3-hidden-service/
- https://www.deepdotweb.com/2017/10/14/tor-update-supports-v3-onion-services/
感想
- グローバル IP は不便
- Onion Service 便利
- Termux すごい
参考
raspberry pi セキュリティ設定
- http://makezine.jp/blog/2017/09/secure-your-raspberry-pi-against-attackers.html
- https://blog.dantup.com/2016/04/setting-up-automatic-updates-on-raspberry-pi-raspbian-jessie/
- https://qiita.com/Fendo181/items/659f306232f55fc5a8de
- https://wiki.debian.org/UnattendedUpgrades
- https://www.ohsan.info/2017/12/raspistretch_15.html
SSH and Tor
- https://www.khalidalnajjar.com/access-your-raspberry-pi-globally-using-tor/
- https://gk2.sk/running-ssh-on-a-raspberry-pi-as-a-hidden-service-with-tor/
- https://tor.stackexchange.com/questions/7064/how-to-ssh-to-a-hidden-service-with-torsocks