看门狗系列作为以极客为人设背景的经典游戏,相信很多朋友对游戏中主角用的手机很感兴趣,需要连接设备的时候手机按几下就能远程控制,这样的操作是真的很酷。
其实用手机远程控制自己的其他设备并不难,甚至可以说很轻松,不管在什么地方都能通过命令行登录并控制NAS或者电脑,熟悉代码之后运行安装软件、查看状态、控制开关机会比用鼠标点击传统图形页面的操作快很多,具体能不能做到主角那么快控制就得看手速了。
下面就和大家分享一下如何将手机打造成远程控制终端,后续有时间出一个将手机改造成运行终端的教程,觉得有所帮助欢迎关注点赞收藏哈。
前期准备工作
整理下部署需要的设备和操作流程,简单过一遍。
硬件设备
首先你得有一台手机,硬件无所谓,能联网开机和安装个几十兆的App就行,只是实现远程控制这一功能并不吃配置。
另外就是被控端,同样需要联网开机,开放SSH权限的NAS、普通Windows电脑和其他Linux设备都可以,仅限X86和ARM架构处理器,MIPS架构的设备搞不定,这里我以威联通NAS为例。
必须软件
SSH工具只需要一个就行了,如果想快速无障碍连接自己的所有设备,建议还是使用SD-WAN组网,避免无公网IP(含IPv4和IPv6)无法访问的问题,下面都有具体操作说明。
部署软件环境命令行远程控制有很多协议,目前最主流的是SSH,本次环境部署也是以SSH为核心,只不过不用电脑改用手机而已。
手机端操作流程
手机的SSH客户端软件其实蛮多,如果只需要实现远程控制其他设备,用免费版本的JuicySSH就够了,软件比较小同时安全策略设计也不错,去官方下载安装一下:
https://www.juicessh.com/
NAS端操作流程
所有NAS系统都是基于Linux原版二次开发,只不过核心和相关软件版本会有一些区别,威联通这类传统NAS直接去设置中心开启SSH就可以,极空间绿联这些暂时不行。
开启后建议修改一下SSH端口号,SSH默认端口号都是22,最好是你能记得的四位数字或者五位数字,记住这个端口号,后面用手机登录时候要用。
Windows电脑操作
没记错的话从Windows10开始,系统内置选装软件中已经包含了OpenSSH,部署完成后一样可以用SSH登录并用命令行控制电脑,用自带搜索工具搜索可选功能,点击打开管理页面。
进入可选功能页面后点击右上角查看功能,找到OpenSSH,勾选上后一路下一步完成程序的安装。
安装完成后开始用Windows自带的命令行工具进行配置,搜索WindowsPowerShell,右键点击以管理员身份运行。
输入下面代码,输入下面代码开始启用SSH的客户端与服务端:
Start-Service sshd
确认无误后,按回车键确认。
开启后顺手将SSH服务修改成开机自动启动,复制下面代码:
Set-Service -Name sshd -StartupType 'Automatic'
确认无误后,按回车键确认。
最后修改下这台Windows电脑SSH服务端的访问端口,进入下面文件夹,右键sshd_config这个文件,打开方式选择记事本:
C:\ProgramData\ssh
这里可以看到默认端口号(Port)是22,和上面NAS一样,建议修改成你能记得的四位数字或者五位数字,记住这个端口号,后面用手机登录时候要用。
部署组网环境组网软件比较多,这里我以Talescale为例,手机和电脑比较简单,打开下面的官方,注册账号并下载对应的安装包装:
https://tailscale.com/download
注册账号并登录好后,进入Settings(设置)中的Keys(秘钥),点击Generate auth key(生成秘钥)。
在弹出的窗口中选择Generate key,其他配置正常不用动。
之后会生成一段以tskey-auth-开头的密码,记录下来,等会要用。
威联通NAS稍微有一些麻烦,需要用到Docker进行部署,先进入FileStation,在Container共享文件夹下面创建一个用于挂载的子文件夹,这里我命名为Tailscale。
进入Tailscale子文件夹,继续创建两个文件夹,分别是lib和tun,用于存放配置文件。
创建完对应文件夹后,打开ContainerStation,点击创建搜索Talescale,点击安装第一个结果(tailscale/tailscale),映像版本用默认的latest,点击下一步。
接下来开始配置容器选项,点击高级配置。
首先是环境配置,点击新增一条配置,仔细看下图填写:
名称为TS_AUTH_KEY,这个不能错。
值填刚才Tailscale生成的秘钥,注意一定要是tskey-auth-开头。
第二步点击网络,将网络模式从默认的NAT(转发网络)切换成Host(主机网络)。
第三步点击设备,勾选上在特权模式下运行容器。
最后一步点击共享文件夹,创建两条规则:
挂载本机共享文件下选择之前创建的lib文件夹,挂载路径填写/var/lib
挂载本机共享文件下选择之前创建的tun文件夹,挂载路径填写/dev/net/tun
全部确认完成后,点击创建,之后NAS上就不需要操作了,接下来开始配置各终端的登录信息。
配置登录信息
这里分为两步:为所有设备配置组网和手机上添加需要登录的设备。
配置设备组网
如果已经好奇打开了JuicySSH,就可以看到连接设备需要三个信息:
登录设备的用户名+密码
登录设备的IP
登录设备的端口号
由于现在全球IPv4公网IP确实已经枯竭了,并且主流SSH工具对IPv6的支持也不算好,个人建议是做Zerotier或者Tailscale这类SD-WAN工具进行组网,感兴趣可以看看之前的教程。
手机登录Tailscale后即可看到这组虚拟网络内的所有设备,点击设备名称即可复制该设备的IP,比如这里复制威联通的IP。
手机添加设备
打开手机上的JuiceSSH,点击最上面的快速连接。
弹出的窗口里面填写设备IP和该设备的SSH端口号,格式如下所示,注意中间的冒号是英文的:,不是中文的:,确认无误后点击确定。
接下来会跳转到具体信息的配置页面,点击新建,开始填写用于SSH登录的账户。
在跳转的窗口中填写你的设备登录信息,也就是登录系统的账户和密码。
PS:如果你用RSA这类秘钥文件登录也可以的,点私钥选中秘钥文件即可。
NAS的登录账号密码就不用说了吧?Windows电脑有两种账号:
第一种是WindowsLive在线账号,也就是微软账号,亲测是可以直接登录的。
第二种是本地账户,在设置中新建一个就行,一定要管理员账户,不然很多代码没权限执行。
创建完成后会自动跳转登录,期间会提示是否记住秘钥,如果是安全设备选择记住就行,退出登录后续也会在App首页显示设备,点击连接就可以直接登录。
实际效果展示
之后的使用和桌面端SSH工具没啥区别,正常点右下角调出虚拟键盘,之后输入代码即可执行,比如下图的执行长Ping测试,如果使用的是平板电脑,横屏显示效果更佳。
唯一注意的就是远程登录Windows电脑,和Linux的sudo -i一样,也需要输入代码切换到管理员权限,不然很多命令执行不了:
net user administrator /active:yes
确认无误后,回车执行一下即可。