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

2019-02-19 12:03:47 +08:00
 itgoyo

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

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

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

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

使用方法

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

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

./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

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

11130 次点击
所在节点    程序员
50 条回复
itgoyo
2019-02-19 14:25:36 +08:00
@beidahuangdehu 我上面的就是内网穿透,如果你那边有更好的更简洁的方式,请您分享一下,我也试试,后面我汇总出来😘
JoyBanana
2019-02-19 14:34:18 +08:00
这种教程发 V2 没啥意思吧。感觉 V2 人均 frp
nneedd
2019-02-19 14:37:03 +08:00
frp+1
Kaiv2
2019-02-19 14:38:18 +08:00
自己搭了个 ngrok 服务,隔一段时间就挂了,老是要重启不知道为啥。试试 frp
JoyBanana
2019-02-19 14:38:25 +08:00
借楼问下。树莓派自建 NAS,我家极路由看电影会有卡顿。大家有什么办法吗,还有硬盘休眠很头疼
laucenmi
2019-02-19 14:40:33 +08:00
frp+1
lihongjie0209
2019-02-19 14:49:24 +08:00
ddns
dongrenwen
2019-02-19 14:55:46 +08:00
推荐 ZeroTier One,用过一段时间,感觉还是很好用的。
http://www.zerotier.com/

p.s. 这不是在打广告哦,只是推荐而已
itgoyo
2019-02-19 14:58:56 +08:00
看到评论了好多都是 frp 的。我晚点也尝试一下 frp
pynix
2019-02-19 15:03:07 +08:00
阿里云开个小鸡,SSH 反向连接。
KasuganoSoras
2019-02-19 15:08:33 +08:00
试试 Sakura Frp ?一大堆国内百兆千兆服务器免费用
自己开发的一个内网穿透管理平台,基于 Frp 改的客户端
https://www.natfrp.org/
AlfredL
2019-02-19 15:32:45 +08:00
最好的办法就是,办一条联通或者电信的宽带,然后和客服说给一下公网 IP...然后 DDNS 解决全部问题
搬家的话也好说,运营商都提供移机服务,并且好多地方第一次移机还免费
paouke
2019-02-19 18:58:01 +08:00
frp +1,运行半年多了
snip
2019-02-19 21:24:46 +08:00
公司电脑装个虚拟机
vyronlee
2019-02-19 21:27:33 +08:00
@dongrenwen Zerotier + 1,非常好用
mosliu
2019-02-19 21:50:36 +08:00
ngrok 不错 不过我用 frp。。。。
mritd
2019-02-19 21:58:04 +08:00
cdlnls
2019-02-19 22:52:58 +08:00
用家里的电脑连公司的 VPN,然后在公司直接连 VPN 分配给家里电脑的内网地址。延迟低而且速度快。
ochatokori
2019-02-19 23:44:14 +08:00
有公网 ip 就转发,没有就穿透,这不是 v2 的基本技能嘛,应该在知乎发
northernlights
2019-02-19 23:52:07 +08:00
你们的 zero 都不慢吗?我的非常慢是咋回事,今天晚上给卸载了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/536479

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX