itgoyo / 500Days-Of-Github

⭐ 瞎JB折腾Mac/Linux/Windows过程中遇到的所有问题和解决方式 ⭐

Home Page:https://itgoyo.github.io/500Days-Of-Github

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

如何把电脑变成服务器然后使用远程登录

itgoyo opened this issue · comments

个人比较喜欢linux,还有Mac OS环境,但是由于公司设备原因只能使用Windows设备,但在上面使用起来极其不顺手,所以想到了这样一种远程访问的方式

当然了,市面上已经有很多好的产品了例如Teamviewer,这种工具,但是我在使用这个软件的时候感觉到有些卡顿或者说是延迟,对于强迫症患者的我,使用起来极其不舒服,而且我平时使用也基本用不到图形化界面,所以想办法使用ssh连接即可。

但是用家里电脑作为一个服务器有一个问题,就是ip地址不是公网地址,导致外网的人想访问,类似我在公司想使用自己电脑的时候是不能访问到的,所以我们先要把我们电脑的地址搞成公网的地址,用到的软件ngrok

官网地址 https://ngrok.com/

使用方法

  • Download ngrok

  • unzip /path/to/ngrok.zip

  • ./ngrok authtoken xxxxxxxxxxxxWcfNsonk2xxxxxxxxxxxxxx

这样子就可以在后台查看到相应的公网地址

然后在电脑主机(也就是作为服务器的电脑)运行一下代码

./ngrok tcp 22

然后就可以参看到地址了

Session Status                online
Account                       浮 生 甲 第  (Plan: Free)
Version                       2.2.8
Region                        United States (us)
Web Interface                 http://127.0.0.1:4041
Forwarding                    tcp://0.tcp.ngrok.io:12345 -> localhost:22

然后远程电脑可以使用客户端putty或者fianlshell等ssh工具登录到远程主机,对于新人个人比较推荐使用finalshell
主机的地址
ssh myuser@0.tcp.ngrok.io -p12345

-p 其实是端口号上面端口号就是 12345

连接成功之后,他会询问你用户名还有密码的,验证成功之后就可以正常远程登录了,祝你成功。


更新!!!现在已经切换成此种方式

貌似端口号每次启动都不会改变,这样子方便许多
软件更换为Sunny-Ngrok

官网:https://www.ngrok.cc/

自己申请账号,然后购买免费的香港服务器-创建tcp服务

软件下载地址:https://www.ngrok.cc/download.html

使用方法

./sunny clientid 隧道id(id自己参看自己创建的tcp服务后台可以查看)

启动多个隧道

./sunny clientid 隧道id,隧道id

效果:

unny-Ngrok   官 网 www.ngrok.cc                                 (Ctrl+C 退 出 )

隧 道 状 态                           在 线
版 本                             2.1/2.1
转 发                             tcp://free.idcfengye.com:12345 -> 127.0.0.1:22
Web界 面                          127.0.0.1:4040
# Conn                        3
Avg Conn Time                 0.00ms

使用ssh软件登陆的时候记得不要带上tcp,只要写后面的域名即可还有相应的端口号即可

感觉这个比之前的ngrok搭建起来和链接起来比较方便

开机自启动服务脚本

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          ngrok.cc
# Required-Start:    $network $remote_fs $local_fs
# Required-Stop:     $network $remote_fs $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: autostartup of ngrok for Linux
### END INIT INFO

NAME=sunny
DAEMON=/usr/local/bin/$NAME
PIDFILE=/var/run/$NAME.pid

[ -x "$DAEMON" ] || exit 0

case "$1" in
  start)
      if [ -f $PIDFILE ]; then
        echo "$NAME already running..."
        echo -e "\033[1;35mStart Fail\033[0m"
      else
        echo "Starting $NAME..."
        start-stop-daemon -S -p $PIDFILE -m -b -o -q -x $DAEMON -- clientid 隧道id || return 2
        echo -e "\033[1;32mStart Success\033[0m"
    fi
    ;;
  stop)
        echo "Stoping $NAME..."
        start-stop-daemon -K -p $PIDFILE -s TERM -o -q || return 2
        rm -rf $PIDFILE
        echo -e "\033[1;32mStop Success\033[0m"
    ;;
  restart)
    $0 stop && sleep 2 && $0 start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
esac
exit 0

文件保存为xx.sh文件,上面的隧道id改成你自己的id

添加到Mac开机自启动服务

系统偏好设置-用户与群主-登录项-+刚刚的sh脚本


最后ngrok不仅仅可以外暴露22端口,也能暴露其他自定义端口

高科技用法

  • 远程开机卡 (在外面使用易微联远程控制)
  • 天猫精灵 (在家里使用声音控制)【天猫精灵到底可以有多酷】

如果你觉得电脑一直开机比较费电不好的话,那么下面我给你们介绍一下一些黑科技用法了

手机控制电脑开关(易微联app、微信公众号易微联、小程序易微联三个都能远程控制

天猫精灵控制电脑开关(天猫精灵打开办公室插座)

这个远程开机卡,打开和关闭是不用进入BIOS的,感觉就和你的进入休眠和唤醒一样,这是太鸡儿好用了,当然你不舍得花钱的话,直接使用TeamViewer吧,设置开机启动,然后设置无人值守密码就行,对了你如果被检测出商业用途5min断线的话,给我私信,我有了固定ip值,还有防止断线的版本(支持Mac和Windows版本)

为什么是办公室插座呢,因为天猫精灵现在还不支持自定义命名,所以为了区分我的卧室插座,我把他名字改成了办公室插座,当然还有场景很多名字可以取的,这个由你喜欢。



【远程开机卡】TB上70+块钱

frp

关于这个是很多知友还有V友说的,下次有时间再试试这个

ngrok 一直ssh连不上,已经fq了啊

@zwkcoding 不好意思呀,刚刚才看到你的邮件,你邮件上问我说链接不了 ssh 然后可能也给我发了截图,但是我看不到你的截图内容

其次就是,链接 ssh 当初我链接成功是用了 fianlshell 这个软件链接上的,我不确定你是用终端链接的还是用工具链接的,如果是工具你看看是不是端口号不对,或者协议不对的原因,这个只能去排查了,我其实也不是搞渗透的,就是当初起兴乱玩的。

@itgoyo 这个邮件不是我发的。

我的问题解决了,解决方法是远程先登录一台墙外的服务器,然后在服务器上远程 ssh 登录 ngrok 主机。

其实,我也不这么用了,还是 TeamViewer 来得快