• Termux和Ubuntu建立ssh连接


    1 本机环境

    • Android:Termux v0.77 作为客户端
    • Linux:Ubuntu 19.10 作为服务器
    • 两者处于同一局域网下

    2 ssh安装

    2.1 Termux

    pkg install openssh

    注:若提示无法定位软件包,重装软件或许能够解决(本人就是)!

    2.2 Ubuntu

    sudo apt install openssh-client openssh-server

    3 普通连接

    3.1 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 地址。

    3.2 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 地址。

    4 免密和免 ip 登录

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

    4.1 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 后即可完成连接!

    4.2 Ubuntu 作为 client,Termux 作为 server

    步骤同第 3 节一样。

  • 相关阅读:
    Django-序列化器
    HTTP请求头响应头的信息
    HTTP协议
    IAAS,PAAS,SAAS
    MySQL-部分名词解释
    MySQL-事务和特性
    用Java仿QQ界面聊天小项目
    25篇Java入门技术博客,送给准备入坑的你
    Java自学推荐书籍
    Java中的并发讲解
  • 原文地址:https://www.cnblogs.com/fox-Benjiaming/p/11908216.html
Copyright © 2020-2023  润新知