使用Termux并与ubuntu建立ssh连接
阅读原文时间:2023年07月09日阅读:1

Termux是一个Android终端仿真器和Linux环境应用程序,直接工作,无需根目录或设置。一个最小的基本系统被自动安装-额外的软件包可以使用APT软件包管理器来使用。不需要root,运行于内部存储(不在SD卡上)。

Termux官网地址 Termux下载地址

Termux终端有很多优秀的特性,这里要说两点:

1. Termux有针对手机输入优化的键盘显示,长按KEYBOARD选项可打开该功能
2. Termux维护着适合Android的库,并自带包管理器apt

因此,在Android上使用Termux终端和在Linux上使用终端一样方便。

安装完Termux后你有以下几个步骤需要完成:

1. 到手机设置中开启 Termux 的存储权限,否则在Termux终端无法访问内部存储
2. 修改Termux的源地址 (特别是国内用户)

和Linux类似,Termux有自己的软件源,安装Termux后默认的软件源是Termux官网.

### 如何查看
export EDITOR=vi
apt edit-sources

源列表的一般格式为:

# The main termux repository
deb [arch=all,你的平台架构] http://termux.net stable main

这里给出更换清华源的步骤:清华源

ssh安装

Termux

pkg install openssh

注:若提示无法定位软件包,重装软件或许能够解决

Ubuntu

sudo apt install openssh-client openssh-server

连接测试

Termux 作为 client,Ubuntu 作为 server

  1. Ubuntu 中执行下述代码打开服务器端口:

    sudo /etc/init.d/ssh start

  2. Ubuntu 中执行 ifconfig ,记下服务器 ip 地址(如下图 inet 位置的 10.99.22.172):

  3. Termux 中执行下述代码后输入 user_name 的登录密码即可完成连接:

    ssh user_name@ip_address

其中,user_name 为 Ubuntu 下的用户名,ip_address 为 Ubuntu 的 ip 地址。

Ubuntu 作为 client,Termux 作为 server

  1. Termux 中执行下述代码打开服务器端口:

    sshd

  2. Termux 中执行 ifconfig ,记下服务器 ip 地址(和 3.1 中类似),然后执行 whoami ,记下用户名:

  3. Ubuntu 中执行下述代码后输入 user_name 的登录密码即可完成连接:

    ssh user_name@ip_address -p 8022

其中,user_name 为 Termux 下的用户名,ip_address 为 Termux 的 ip 地址。

免密和免 ip 登录

有没有觉得每次登录都要输入密码和 ip 地址很麻烦?幸好 ssh 提供了免密和免 ip 登录的方法!

Termux 作为 client,Ubuntu 作为 server

  1. Termux 中执行下述代码在 ~/.ssh/ 中生成公私密钥:

    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    参数说明:
    -t 加密算法类型,这里是使用rsa算法
    -P 指定私钥的密码,不需要可以不指定
    -f 指定生成秘钥对保持的位置

  2. Termux 中执行下述代码将公钥发给 Ubuntu,之后执行 ssh user_name@ip_address 后不需要输入密码:

    ssh-copy-id user_name@ip_address

  3. Termux 中新建或打开 ~/.ssh/config 文件,添加以下内容:

    Host server_name       # SSH链接的服务器别名(自己任意取即可)
    HostName server_ip            # Linux 的 ip 地址
    Port 22                  # 默认即可
    User user_name               # 服务器端用户名
    PreferredAuthentications publickey  # 默认即可
    IdentityFile ~/.ssh/id_rsa       # 第一步生成的私钥地址,默认为 ~/.ssh/id_rsa

  4. 执行 ssh server_name 后即可完成连接!

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章