4: PiTunnel
- Page ID
- 431579
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)What is PiTunnel
PiTunnel is a service that allows you remote access to your Raspberry Pi. If you’re using PiTunnel you don’t have to know the IP address. To use PiTunnel you need to have VNC Viewer installed on your computer.
Initial Setup
1. Go to https://www.pitunnel.com/
2. Click “Sign up Free” in the top right corner
![clipboard_ec9168e56e3edc0c20490cadf89edc296.png](https://chem.libretexts.org/@api/deki/files/294811/clipboard_ec9168e56e3edc0c20490cadf89edc296.png?revision=1)
3. Enter your information and join
4. Follow the Setup steps
5. After setup is complete you should see something like this:
![clipboard_e69fff95327372e24b6e457ad8fce9041.png](https://chem.libretexts.org/@api/deki/files/294812/clipboard_e69fff95327372e24b6e457ad8fce9041.png?revision=1)
Custom Tunnel
You can add a custom tunnel to your PiTunnel account. Custom tunnel will allow you to access your Raspberry Pi through VNC Viewer. You can give access to your Raspberry Pi to other people by sharing the PiTunnel address.
1. Navigate to “Custom Tunnels”
![clipboard_e73fca90bc47fc9bc841b6a2aba0f1dcd.png](https://chem.libretexts.org/@api/deki/files/294822/clipboard_e73fca90bc47fc9bc841b6a2aba0f1dcd.png?revision=1)
2. Click “Create Custom Tunnel”
![clipboard_e53800500dfa38bff644642797ece21c2.png](https://chem.libretexts.org/@api/deki/files/294815/clipboard_e53800500dfa38bff644642797ece21c2.png?revision=1)
3. Enter Tunnel Name that describes the Pi you want to connect to. Enter 5900 as your local port number. Copy the command below
![clipboard_e46e6bf9897888bd3c7a1d26cc7a3e0eb.png](https://chem.libretexts.org/@api/deki/files/294816/clipboard_e46e6bf9897888bd3c7a1d26cc7a3e0eb.png?revision=1)
4. Open crontab on your Raspberry Pi by typing the following
crontab -e
5. Go to the very bottom of the document and type
@reboot /usr/local/bin/pitunnel --port=5900 --name=home
Replace the last part (pitunnel --port=5900 --name=home) with the command you copied from the PiTunnel website.
6. Save the file (CTRL+O). Don't change the name when it asks you about it, just hit "Enter".
7. Close the file (CTRL+X)
8. To properly close the terminal type
exit
9. Reboot your Pi
10. When your Pi is back on, return to your PiTunnel account and look for the custom tunnel.
![clipboard_e31e25ef4c7f2880a6263654b4e205a46.png](https://chem.libretexts.org/@api/deki/files/294823/clipboard_e31e25ef4c7f2880a6263654b4e205a46.png?revision=1&size=bestfit&width=526&height=515)
Using VNC with PiTunnel
1. Open VNC Viewer
2. Create new connection (Right-click on any open space --> New Connection)
3. Go to your PiTunnel Account and copy the address of your custom tunnel (See Image above --> "Available At")
4. Paste the address as VNC Server
![clipboard_e4bf79ce8888693a72d7749cf8add872d.png](https://chem.libretexts.org/@api/deki/files/294821/clipboard_e4bf79ce8888693a72d7749cf8add872d.png?revision=1)
5. Everything else will be just like a regular VNC connection.
Contributors and Attributions
- Elena Lisitsyna