利用ssh远程访问Ubuntu

总共需要3个步骤

  1. 利用ngrok进行内网穿透
  2. 在远程电脑上利用ssh进行登陆
  3. 让ngrok这个服务开机自动运行

利用ngrok进行内网穿透

申请一个NGROK的服务

在www.ngrok.cc申请一个免费的ngrok服务。

注意要开通的是TCP通道,远程端口号,申请时会提示还有哪些可用。

127.0.0.1:22 本地端口22(ssh默认是22)

下载并执行ngrok的脚本

首先下载Linux版的ngrok的脚本程序,下载下来解压缩是一个名字为sunny的文件。
将改文件放到一个指定的目录下,如/home/eric/program/ngrok
移步至该目录然后在terminal里面执行 ./sunny clientid 通道的id
这样内网穿透的通道就打开了。

在远程电脑上利用ssh进行登陆

在远程的电脑上执行:
ssh -p 端口号(ngrok注册时的端口号)xxx@free.ngrok.cc (xxx是你Ubuntu的用户名)
这样就可以远程访问Ubuntu了。

让ngrok这个服务开机自动运行

比如家里的电脑远程开机之后,需要让ngrok这个服务自动运行。

建立一个.sh脚本,命名为ngrok.sh
编辑这个脚本

首先在最开始加入这段代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash

### BEGIN INIT INFO

# Provides: bbzhh.com

# Required-Start: $local_fs $network

# Required-Stop: $local_fs

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: tomcat service

# Description: tomcat service daemon

### END INIT INFO

cd /home/eric/program/ngrok

./sunny clientid 隧道id

最后两句是你要执行的语句

将这个执行脚本复制到/etc/init.d文件夹下面:

1
sudo cp ngrok.sh /etc/init.d/

赋予可执行权限并执行::

1
2
sudu chmod 775 ./ngrok.sh
sudo update-rc.d mount_and_frpc.sh defaults 90

重启后,ngrok服务就会自动启动了