ラズパイにxrdpサーバ立てたのはいいものの、パスワード認証なので3389ポートをそのままインターネットに晒すのは気が引けます。
Androidからxrdp on sshできないかなと思って試したところ上手くいったのでそのメモ。
環境
- Raspberry Pi 3B+
- xrdpサーバは構築済み
- LANではssh,xrdp用のポートを開放
- WAN(インターネット)上にはssh用のポートのみを開放
- xrdp, vncserver
pi@raspberrypi:~ $ sudo apt show xrdp
Package: xrdp
Version: 0.9.1-9+deb9u3
pi@raspberrypi:~ $ sudo apt show tightvncserver
Package: tightvncserver
Version: 1:1.3.9-9
- Android apps
- Termux: 0.84
- Microsoft Remote Desktop: 8.1.75.406
準備
先に同一LANでpublic keyを登録しておきます。
(Termux)$ ssh-keygen -b 256 -t ecdsa
(Termux)$ ssh-copy-id pi@<LAN上でのRaspiのipaddr> -p <port>
方法
外出先からrdp接続するときは、Termux上でローカルの33333ポートから自宅のRaspiの3389ポートへポートフォワードします。
(Termux)$ ssh -i .ssh/id_ecdsa -L 33333:localhost:3389 pi@<自宅のGlobal-ipaddr> -p <インターネットに開放しているポート> -N
そのあと、RD Clientからlocalhost:33333へ接続します。
おわり
Termux使うと色々できちゃうのでとても好き。
以上。