• 请不要在回答技术问题时复制粘贴 AI 生成的内容
itgoyo
V2EX  ›  程序员

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

  •  
  •   itgoyo · Feb 19, 2019 · 12826 views
    This topic created in 2823 days ago, the information mentioned may be changed or developed.

    个人比较喜欢 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 [email protected] -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
    

    使用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 脚本

    50 replies  •  2019-02-22 15:12:42 +08:00
    lhstock
    lhstock
    Feb 19, 2019
    1
    真绕 在家弄个内网穿透不就行了。你在公司弄有什么意义。
    itgoyo
    itgoyo
    OP
    Feb 19, 2019
    2
    @lhstock 我弄的就是家里的啊
    brotherlegend
    brotherlegend
    Feb 19, 2019 via iPhone
    3
    没看明白,是科普 ngrok 吗? 我们小白用 frp
    yuanshuai1995
    yuanshuai1995
    Feb 19, 2019
    4
    我是打电话给运营商让他给我分配一个公网 ip,重启下猫就好了···
    vinsec
    vinsec
    Feb 19, 2019
    5
    @yuanshuai1995 运营商管公网 ip 叫专线,貌似非常贵,你怎么操作的?
    yuanshuai1995
    yuanshuai1995
    Feb 19, 2019
    6
    @vinsec #5 不是,这个公网 ip 是动态获取的 不是一个固定的 ip
    jowan
    jowan
    Feb 19, 2019
    7
    ngrok 开源版的有内存泄露问题
    推荐使用 frp 稳定使用 1 年多了
    itgoyo
    itgoyo
    OP
    Feb 19, 2019
    8
    @yuanshuai1995 ngrok-sunny 每次都是固定的,不然我也不会从 ngrok 换到 ngrok-sunny,之前的 ngrok,确实每次都会变
    itgoyo
    itgoyo
    OP
    Feb 19, 2019
    9
    @yuanshuai1995 你运营商这种更好,绝对的,哪里还需要倒弄那么多,如果运营商给分配的话,羡慕。我这是租房的,也不知道能不能弄。
    snoopygao
    snoopygao
    Feb 19, 2019
    10
    我的宽带有公网 IP
    jmc891205
    jmc891205
    Feb 19, 2019
    11
    在稍大一点的公司 第二天 IT 部就给你发警告邮件抄送你老板了
    JackyCDK
    JackyCDK
    Feb 19, 2019
    12
    win10 使用 wsl 呗
    hanxiV2EX
    hanxiV2EX
    Feb 19, 2019
    13
    这是科普通过 ngrok 实现内网开放端口到公网的教程。
    Daming
    Daming
    Feb 19, 2019
    14
    frp、ddns
    zpf124
    zpf124
    Feb 19, 2019
    15
    ngrok 和 frp 大家支持哪个
    zpf124
    zpf124
    Feb 19, 2019
    16


    我是 ddns+端口映射就可以解决问题。
    xiaoxinshiwo
    xiaoxinshiwo
    Feb 19, 2019
    17
    花生壳
    whusnoopy
    whusnoopy
    Feb 19, 2019
    18
    电信联通都比较容易能申请到公网 IP,打客服电话说要求公网 IP 就行了,只是每次拨号后获取到的都可能变,所以需要有一个反向指向的能力

    我在 dnspod.cn 托管了自己的一个域名,其中一个子域名用来指向家里的地址,跑一个脚本检查自己本地的 IP 有没变化,如果变了则通过 dnspod 的 API 去更新域名解析的地址

    运营商可能会封常见端口,所以在自己家的路由器上可能还需要做端口映射,把某个大号外部端口映射到内网机器的 22 端口,同时自家路由器在做静态 IP 分配,保证同一台机器拿到是同一个 IP

    如果公司用的 Windows 10,直接装个 WSL 解决问题,没上面那么多乱七八糟的事情
    Les1ie
    Les1ie
    Feb 19, 2019
    19
    以前 Ngork 现在 frp, 然而硬伤自己延迟低的服务器都是小水管,大水管的延迟高 :(
    beidahuangdehu
    beidahuangdehu
    Feb 19, 2019
    20
    直接内网穿透就行了,怎么这么复杂呢?
    itgoyo
    itgoyo
    OP
    Feb 19, 2019
    21
    @beidahuangdehu 我上面的就是内网穿透,如果你那边有更好的更简洁的方式,请您分享一下,我也试试,后面我汇总出来😘
    JoyBanana
    JoyBanana
    Feb 19, 2019
    22
    这种教程发 V2 没啥意思吧。感觉 V2 人均 frp
    nneedd
    nneedd
    Feb 19, 2019
    23
    frp+1
    Kaiv2
    Kaiv2
    Feb 19, 2019
    24
    自己搭了个 ngrok 服务,隔一段时间就挂了,老是要重启不知道为啥。试试 frp
    JoyBanana
    JoyBanana
    Feb 19, 2019
    25
    借楼问下。树莓派自建 NAS,我家极路由看电影会有卡顿。大家有什么办法吗,还有硬盘休眠很头疼
    laucenmi
    laucenmi
    Feb 19, 2019
    26
    frp+1
    lihongjie0209
    lihongjie0209
    Feb 19, 2019
    27
    ddns
    dongrenwen
    dongrenwen
    Feb 19, 2019
    28
    推荐 ZeroTier One,用过一段时间,感觉还是很好用的。
    http://www.zerotier.com/

    p.s. 这不是在打广告哦,只是推荐而已
    itgoyo
    itgoyo
    OP
    Feb 19, 2019
    29
    看到评论了好多都是 frp 的。我晚点也尝试一下 frp
    pynix
    pynix
    Feb 19, 2019
    30
    阿里云开个小鸡,SSH 反向连接。
    KasuganoSoras
    KasuganoSoras
    Feb 19, 2019❤️1
    31
    试试 Sakura Frp ?一大堆国内百兆千兆服务器免费用
    自己开发的一个内网穿透管理平台,基于 Frp 改的客户端
    https://www.natfrp.org/
    AlfredL
    AlfredL
    Feb 19, 2019
    32
    最好的办法就是,办一条联通或者电信的宽带,然后和客服说给一下公网 IP...然后 DDNS 解决全部问题
    搬家的话也好说,运营商都提供移机服务,并且好多地方第一次移机还免费
    paouke
    paouke
    Feb 19, 2019
    33
    frp +1,运行半年多了
    snip
    snip
    Feb 19, 2019
    34
    公司电脑装个虚拟机
    vyronlee
    vyronlee
    Feb 19, 2019 via iPhone
    35
    @dongrenwen Zerotier + 1,非常好用
    mosliu
    mosliu
    Feb 19, 2019
    36
    ngrok 不错 不过我用 frp。。。。
    mritd
    mritd
    Feb 19, 2019 via iPhone
    37
    cctv6
    cctv6
    Feb 19, 2019 via iPhone
    38
    用家里的电脑连公司的 VPN,然后在公司直接连 VPN 分配给家里电脑的内网地址。延迟低而且速度快。
    ochatokori
    ochatokori
    Feb 19, 2019 via Android
    39
    有公网 ip 就转发,没有就穿透,这不是 v2 的基本技能嘛,应该在知乎发
    northernlights
    northernlights
    Feb 19, 2019 via Android
    40
    你们的 zero 都不慢吗?我的非常慢是咋回事,今天晚上给卸载了。
    Windelight
    Windelight
    Feb 20, 2019 via Android
    41
    @vinsec 我家网络摄像头、就要公网 ip、别人连不上我百度出来的 ip 等等
    tees
    tees
    Feb 20, 2019
    42
    @northernlights 可以通过 ZeroTier moon 来加速
    guanhui07
    guanhui07
    Feb 20, 2019
    43
    frp
    northernlights
    northernlights
    Feb 20, 2019 via Android
    44
    @tees 有 moon 后流量经过服务器中转吗?
    tojysir
    tojysir
    Feb 20, 2019
    45
    虚拟机?
    Variazioni
    Variazioni
    Feb 20, 2019
    46
    这是科普么?为啥不搞一个 ddns ?
    tees
    tees
    Feb 20, 2019
    47
    @northernlights 应该是通过 moon 来中转吧。我没搭建过 moon。
    itgoyo
    itgoyo
    OP
    Feb 22, 2019
    48
    # 高科技用法
    - **远程开机卡** (在外面使用易微联远程控制)
    - **天猫精灵** (在家里使用声音控制) [天猫精灵到底可以有多酷]

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


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

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

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


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

    ![]( )

    ![]( )

    ![]( )

    [远程开机卡] TB 上 70+块钱
    JoyBanana
    JoyBanana
    Feb 22, 2019
    49
    我觉的吧,楼主这种贴完全可以发知乎之类的。
    这个远程开机,路由做内网穿透,或者配 DDNS。是可以通 wol 来实现的。可以了解一下
    itgoyo
    itgoyo
    OP
    Feb 22, 2019
    50
    @JoyBanana 啊,谢谢啊,学习到了 wol 这个方式,这个是我之前不曾想到过的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2936 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 121ms · UTC 00:45 · PVG 08:45 · LAX 16:45 · JFK 19:45
    ♥ Do have faith in what you're doing.