如何建立局域网连接私人笔记本与工作电脑?

内容分享1周前发布
0 0 0

如何建立局域网连接私人笔记本与工作电脑?

Basic Logic

如果我们希望通过自己的电脑控制实验室的电脑(我们暂且统一称为工作站),并且希望摆脱卡顿和麻烦的各种远程桌面软件,那么最简单直接的方式是通过
ssh
。理论上,只要我们知道工作站的IP地址+用户名+密码,就可以通过下面类型的
bash

powershell

cmd
代码实现连接:


ssh username@ip
username@ip's password:_

但是,使用
ssh
连接有一个基本要求:两台电脑要在同一个局域网内。当我们人不在公司/学校/实验室的时候,如果希望访问公司/学校/实验室内网,只能通过VPN。大部分单位都会提供现成的VPN,但部分单位需要进行申请。假如申请VPN需要几天的等待,并且我们非常着急使用的话,就可以考虑建立一个局域网,让工作站和自己的电脑都连接上同一个局域网,然后再通过
ssh
连接。

一旦
ssh
通道打通,就可以有各种各样的方法控制电脑了。既可以直接在命令行中控制,也可以通过Vscode连接,和在自己的电脑上跑没有任何区别。使用Vscode连接可以参考本人过往文章:《本地通过Vscode连接服务器完整流程
》,只需要关注后半部分的“Remote-
ssh
”即可。

下面我们介绍如何建立局域网,并在检验后确认使用
ssh
连接测试:

注意,下面的许多操作是需要在工作站和自己的电脑同时进行的,所以在这时,远程桌面还是能发挥一定的作用。

Necessary Software

在工作站和自己的电脑下载并安装tailscale:


https://tailscale.com/download/windows

下载完成后,就有一个要求登录的界面,保证两台电脑都登录相同的账号。

如何建立局域网连接私人笔记本与工作电脑?

这样就表示两台电脑都成功连接了:

如何建立局域网连接私人笔记本与工作电脑?

*关于为什么要选择tailscale:其实市面上有许多类似的软件,比如Zerotier、Easytier等等。这种不同的组网工具的NAT 穿透策略、默认配置不同以及底层协议都并不相同。tailscale是相对成熟的一个软件,主要面向用户,像Zerotier、Easytier等可手动DIY许多设置,真正学起来十分费劲。笔者尝试过使用Zerotier、Easytier,但都败给了公司/学校/实验室的网络。

Check the Connection Status

寻找工作站在此时的IP:打开powershell


tailscale ip

找到工作站ip,尝试ping一下工作站(就是ping+ip),下面的内容就表示工作站和自己的电脑是连通的:


(base) C:UsersJ3540>ping 100.115.209.96

Pinging 100.115.209.96 with 32 bytes of data:
Reply from 100.115.209.96: bytes=32 time=1702ms TTL=128
Reply from 100.115.209.96: bytes=32 time=1268ms TTL=128
Reply from 100.115.209.96: bytes=32 time=418ms TTL=128
Reply from 100.115.209.96: bytes=32 time=416ms TTL=128

Ping statistics for 100.115.209.96:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 416ms, Maximum = 1702ms, Average = 951ms

检查并打开工作站的
ssh
服务:以管理员权限打开Powershell(注意一定是powershell,cmd不行):


Get-Service sshd

正常情况下会看到


Status   Name               DisplayName
------   ----               -----------
Stopped  sshd               OpenSSH SSH Server

### 或者看到

Status   Name               DisplayName
------   ----               -----------
running  sshd               OpenSSH SSH Server

然后


Start-Service sshd

假如在输入
Get-Service
后提示
*“服务不存在”**:


# 安装 OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

# 启动服务
Start-Service sshd

# 设置开机自启
Set-Service -Name sshd -StartupType 'Automatic'

# 放行防火墙
New-NetFirewallRule -Name "OpenSSH-Server" -DisplayName "OpenSSH Server (sshd)" -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

找到工作站的用户名和密码。工作站的用户名可以打开cmd后输入
whoami
后得到,至于密码,如果没有的话建议建立一个,这样比较方便连接(因为
ssh
只接受密码/密钥连接)。找到工作站的用户名、密码和IP之后,就能像本文开头一样:


ssh username@ip

首次连接还会显示


...#省略两行
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

输入yes之后就会让输密码,然后就大工告成了。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...