termux开启ssh服务

前言

很早之前就想知道termux能不能成为ssh服务端,一开始想去找找教程,后来忘了这回事,去年因为某些事想了起来就去找了一些文章,其实早就解决了,忘了写篇文章来记录而已

正文

所需工具:
1. termux (termux的话现在各大应用商店基本都有下载)
2. android手机

  • 首先在你的termux中需要安装openssl

    1
    $ apt-get install openssh -y

  • 接着需要在你要连接termux的电脑上创建秘钥,也就是你要在哪台电脑上连接termux就在那电脑上创建

    1
    $ ssh-keygen

    注:电脑上也要安装openssh不然没有这个命令
    会要求输入密码信息,没特殊要求一路回车即可

  • 之后会在指定路径生成两个文件,一个是没有后缀的私钥文件,一个是后缀为pub的公钥文件,把公钥文件发送到手机里,或者复制里面的内容也行

  • 打开手机,比如我从电脑把文件发送到了手机的存储目录,那么我需要复制到termuxhome目录

    1
    $ cp /sdcard/公钥文件名.pub ~

    接着还需要把里面的内容写入**~/.ssh/authorized_keys**文件

    1
    $ cat 公钥文件名.pub >> ~/.ssh/authorized_keys

    如果直接复制的公钥文件内容,那就不需要复制文件到home目录,直接编辑**~/.ssh/authorized_keys文件即可,把复制的内容粘贴到authorized_keys**文件里就可以了,接着启动ssh服务

    1
    $ sshd

  • 接着就是在电脑上连接了,不过还需要做两件事,首先在termux上获取用户名

    1
    $ whoami
  • 接着还需要获取手机的局域网ip

    1
    $ ifconfig -a
  • 接着就是在电脑上连接了

    1
    $ ssh 用户名@局域网ip -p 8022

    接着会出现一个验证,输入yes即可,接着还需要输入你生成公钥和私钥时输入的密码,如果没有输入就直接回车

最后

现在手机上除了termux又出了一个neoterm,虽然是参考了termux的部分代码,但这两个软件还是有些不同,各有各的特色,都很强