最近比较怀念linux里的vim编辑器,总感觉比安卓的各类记事本好用。于是用安卓手机安装了Termux模拟linux环境测试了一下,感觉不错。就是手机屏幕太小,操作别扭。
另外手机和笔记本之间经常互传文件,比如小说、代码等,总是弄根usb线插来查去很烦。于是忽发奇想,笔记本有wifi热点,可以和手机连接,而linux的强项就是服务器和网络,为啥不搞个互联互通呢?
查阅网络资料加上自己摸索,终于搞定,可以通过ssh实现手机和笔记本电脑互联,互相登录访问,互相操作文件,感觉很方便。
分享一下过程:
一、手机为安卓系统,苹果没有,不知道行不行。手机安装Termux。具体方法百度即可。
安装完毕后打开,输入:pkg install openssh 安装ssh以便访问服务器。也可以安装一些常用软件如vim等:pkg install vim
为了方便访问手机内部文件,要安装启用外部储存命令,输入
termux-setup-storage即可。
二、笔记本电脑为win7系统,其他应该也行。安装msys2 。去http://www.msys2.org/下载即可。我用的是32位的,因为笔记本电脑有些老旧。
下载完毕打开MSYS2 MinGW 32-bit。先更新一下:输入:pacman -Syu 检查版本; pacman -Su 更新
嗯,网上说要更换源位清华大学的。个人觉得似乎不必,不换的话,下载也不慢。
安装ssh:pacman -S openssh 好了之后位方便与手机连接,要进行配置。
配置登录密钥
1.
电脑生成密钥,运行
ssh-keygen
然后进入电脑.ssh目录,将id_rsa.pub文件拷贝到手机的storage/shared目录下。
2.
添加公钥信息
确保id_rsa.pub存在于storage/shared/目录下,进入手机Termux。依次输入以下命令。
cd
cp storage/shared/id_rsa.pub https://blog.csdn.net/qq_42030500/article/details/.ssh
cat id_rsa.pub >> authorized_keys
至此,已添加公钥信息到手机。可以访问了。
对了,手机termux要输入:sshd 才可以的
三、为方便表示,默认手机是服务器,笔记本电脑是客户端吧。
客户端连接服务器:
手机查看当前用户名
whoami
手机查看当前ip
ifconfig -a
电脑ssh到手机
假设手机使用whoami查看的用户名是u0_a258,手机的ip地址是192.168.1.9
则电脑ssh到手机
ssh u0_a258@192.168.31.9 -p 8022
连接成功!可以操作手机上的termux了
简便方法ssh配置
为了方便,我们可以配置一下ssh client的配置文件,将下面内容加入到
~/.ssh/config 文件中
Host termux
HostName 192.168.31.9
Port 8022
这样只需要执行 ssh termux 就能登陆termx了。
四、可以操作,但是文件复制等怎么办?网上查了,用scp,
从服务器复制文件夹到本地:
只需在前面加 -r 即可,就可以拷贝整个文件夹。
从本地复制文件到服务器:
很可惜,执行不了,总是报错ssh: connect to host 192.168.191.2 port 22: Connection refused
lost connection
后来,我查阅了很多资料,发现这个可以用:参考网页:https://blog.csdn.net/beyond__devil/article/details/55512414?utm_source=blogxgwz2
向服务器复制文件1.txt
tar zcf - 1.txt | ssh -p 8022 u0_a390@192.168.191.2 tar zxf - -C
/data/data/com.termux/files/home
复制服务器文件 当前目录下所有文件到本地
ssh -p 8022 u0_a390@192.168.191.2 "tar zcf - https://blog.csdn.net/qq_42030500/article/details/*" | tar zxf - -C https://blog.csdn.net/qq_42030500/article/details/
五、最后,既然是双向访问,那手机如何访问笔记本电脑呢?这个简单:
pc端的msys2输入:# sshd
咦,居然出错了!sshd: no hostkeys available — exiting
继续查阅资料,解决过程:输入以下命令即可。
#ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
#ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
#/usr/sbin/sshd
如果上述两个文件存在,仍然出现这个错误,那么试试 chmod 600
上述两个文件。之后应该可以解决。
好了,笔记本电脑的sshd运行起来之后,还要设置个密码才能让手机访问
#passwd,随便设一个,自己记住即可。
最后
手机的termux输入:$ssh pc_Admin@192.168.191.1
pc_Admin是笔记本电脑主机名字。可在msys2下用whoami查看。
192.168.191.1是笔记本电脑的ip地址。可以用ipconfig查看即可。
完毕。不足之处,敬请指正。