用ssh实现远程登陆电脑,配合上篇博客提到的Termux可实现手机操作电脑。
用Termux搞个好玩的,用手机操作电脑。具体来说就是实现了从手机上连接到电脑的cmd命令行窗口。借助ssh实现。
电脑安装和开启ssh
-
系统:win10
安装OpenSSH:按照下面几张图片依次找到设置 - 应用 - 可选功能 - 添加功能
找到OpenSSH服务器和OpenSSH客户端,选择安装(两个都要装)
到cmd中输入ssh
,若出现下图结果说明客户端安装成功
启动SSH服务:以管理员身份运行cmd(否则会出现系统错误),执行命令
net start sshd
出现下图界面即为成功
注:可以使用命令
net stop sshd
来关闭SSH。
手机安装SSH并连接到电脑
到Termux下,执行命令
pkg install openssh
然后可以用命令
ssh username@ip
来连接电脑,其中username
是你的电脑的用户名,ip
是你的电脑的IP地址。
如何查看自己电脑的IP地址?在电脑命令行中输入
ipconfig
即可找到。例如我的是:
第一次连接时会出现如下提示
The authenticity of host 'host (xx.xxx.xx.xx)' can't be established.
RSA key fingerprint is XX:XX:XX......
Are you sure you want to continue connecting (yes/no)?
意思是这个服务器的真实性尚未被证实,它的公钥指纹是XX:XX:XX:…,问你是否要继续连接?输入yes即可,它会将这个公钥加入到自己的列表中,日后就不需要再确认了。
之后会要求你输入密码,输入电脑的开机密码即可。出现下图即为成功。
可以输入exit
退出SSH,回到原界面。
用Screenfetch测试连接成功
screenfetch可以显示当前运行的设备信息。我们先在电脑上以管理员权限打开powershell,按照如下步骤进行1:
- 输入
Install-Module -Name windows-screenfetch
,回车(输入Y,接受) - 输入
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
,回车(输入Y,接受) - 输入
Import-Module windows-screenfetch
输入Screenfetch
测试,出现下图界面即为安装成功:
我们先将powershell的路径添加到环境变量中:
(1) 新建名为powershell,值为powershell所在文件夹的系统变量:
(2) 向系统变量Path中添加%powershell%
:
这样就可以直接在cmd中输入powershell
打开powershell,而不用cd到powershell所在的目录,这对于手机操作尤为方便。
铺垫完成,我们下面在手机中使用Screenfetch,来确定自己的确用手机操控打开了电脑。
如果我们没有用ssh连接到电脑,直接在Termux上先使用pkg install screenfetch
安装screenfetch(注意这里首字母s是小写,与上面不同),再执行命令screenfetch
的话,看到的是安卓机的设备信息:
我们执行命令
ssh username@ip
(同样地,username
是你的电脑的用户名,ip
是你的电脑的IP地址)来连接电脑,然后执行命令
powershell # 进入powershell
Screenfetch # 打开Screenfetch,注意S大写
看到如下界面,说明的确连接到了我们的电脑。
后记
连接到电脑就可以干一些好玩的事情了,比如我们在手机上就可以浏览电脑上的文件,也可以用http-server在手机浏览器上看电脑上保存的视频,用cmd跑电脑上的程序。其实就是把电脑当作了一台可供同一局域网中设备访问的服务器。
美中不足的是,我们必须保证电脑和手机都在同一个局域网中,否则SSH无法连接。那能不能不在同一个局域网中依然可以访问呢?是可以的,利用内网穿透技术即可,我现在还没搞,之后搞了的话会在这里再次更新的。