Win7下用MSYS2和安卓android手机的Termux实现双向连接

最近比较怀念linux里的vim编辑器,总感觉比安卓的各类记事本好用。于是用安卓手机安装了Termux模拟linux环境测试了一下,感觉不错。就是手机屏幕太小,操作别扭。

另外手机和笔记本之间经常互传文件,比如小说、代码等,总是弄根usb线插来查去很烦。于是忽发奇想,笔记本有wifi热点,可以和手机连接,而linux的强项就是服务器和网络,为啥不搞个互联互通呢?

查阅网络资料加上自己摸索,终于搞定,可以通过ssh实现手机和笔记本电脑互联,互相登录访问,互相操作文件,感觉很方便。

msys2

分享一下过程:

一、手机为安卓系统,苹果没有,不知道行不行。手机安装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 ./.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,

从服务器复制文件夹到本地:

scp -r root@192.168.1.100:/data/ /home/myfile/

只需在前面加 -r 即可,就可以拷贝整个文件夹。

 

从本地复制文件到服务器:

scp /home/myfile/test.txt root@192.168.1.100:/data/

很可惜,执行不了,总是报错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 - ./*" | tar zxf - -C ./

五、最后,既然是双向访问,那手机如何访问笔记本电脑呢?这个简单:

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查看即可。

完毕。不足之处,敬请指正。

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值