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                  # 默认即可
User user_name               # 服务器端用户名
PreferredAuthentications publickey  # 默认即可
IdentityFile ~/.ssh/id_rsa       # 第一步生成的私钥地址,默认为 ~/.ssh/id_rsa

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

4.2 Ubuntu 作为 client,Termux 作为 server

步骤同第 3 节一样。

Termux和Ubuntu建立ssh连接的更多相关文章

  1. 使用Termux并与ubuntu建立ssh连接

    什么是Termux? Termux是一个Android终端仿真器和Linux环境应用程序,直接工作,无需根目录或设置.一个最小的基本系统被自动安装-额外的软件包可以使用APT软件包管理器来使用.不需要 ...

  2. 【linux】——FreeBSD 建立 SSH 连接慢的解决方法

    一般在编写 linux 程序的时候,会使用 SecureCRT 或者 xshell 等工具远程登录到 linux 服务器上.最近发现在建立 SSH 连接的时候,非常慢,但是建立连接成功之后可以正常使用 ...

  3. Ubuntu下ssh连接在服务端显示图形界面

    Ubuntu下ssh连接在服务端显示图形界面 step1 安装ssh服务 服务端安装运行ssh,在终端运行命令如下: sudo apt-get install openssh-server 在客户端安 ...

  4. 关于Ubuntu远程ssh连接失败的问题

    在做机器人项目的时候,用的是Ubuntu的linux,跟之前的CentOS的操作命令有一点差别,就比如防火墙的名字,在Ubuntu系统中叫什么ufw,真是有点不好接受. 为了能模拟环境,我又弄了一台电 ...

  5. ubuntu使用ssh连接远程电脑的方法

    目前,大多数linux distributions都预先安装了ssh的客户端,即可以连接别人的电脑.但也有例外的情况,所以,下面先把ssh的客户端与服务端的安装一并讲了吧. ssh客户端及服务端的安装 ...

  6. Python建立SSH连接与使用方法

    paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接 安装过程也比较简单,先安装pycrypto后安装paramiko,解压后在命令提示符下 ...

  7. Ubuntu搭建ssh连接(连接方式:桥接网卡、网络地址转换(NAT))

    操作系统:Ubuntu Server 16.04.2 SSH软件:Putty(远程连接工具,视本机操作系统选择对应版本的putty) --------------------------------- ...

  8. docker安装Ubuntu以及ssh连接

    一.简述 环境: Windows10 docker:2.1.0.1 二.开始安装 Windows的docker安装就不再多说了,网上有很多教程 在docker的hub仓库中,有专门的ubuntu系统. ...

  9. ubuntu配置ssh连接方式

    pgadmin4 配置界面的password指的是数据库用户的密码, 不是服务器的密码. pg数据库 1.确保远程服务器开放相应端口.这个是在防火墙设置. 2.pg数据库服务器允许外部ip访问, 默认 ...

随机推荐

  1. SpringBoot读取Linux服务器某路径下文件\读取项目Resource下文件

    // SpringBoot读取Linux服务器某路径下文件 public String messageToRouted() { File file = null; try { file = Resou ...

  2. [转]java 根据模板文件生成word文档

    链接地址:https://blog.csdn.net/ai_0922/article/details/82773466

  3. Zabbix 3.0 配置企业微信报警(注册---测试)

    一.申请企业微信 1.登录企业微信官网,点击企业注册 二.配置企业微信 1.邀请管理员使用企业微信,如果有多个人直接添加新成员 2.管理员收到邀请,下载手机版企业微信,使用微信号登陆即可 3.创建应用 ...

  4. python 中的eval与exec

    eval类似exec,是使用python编译器运行表达式和语句两者区别在于:eval是编译表达式并返回值(如: eval("'hello'*2") 结果是 hellohello)e ...

  5. layui switch 确定之后才变更状态

    let x = data.elem.checked; data.elem.checked = !x; form.render(); 完整代码 form.on('switch(is_enable)', ...

  6. 如何改变 select 元素的高度

    mozilla 对于美化 select 元素的样式有这样一段描述(用 CSS 美化 Select 元素): 众所周知,select 元素很难用 CSS 进行高效的设计.你可以影响任何元素的某些方面 - ...

  7. 010 SpringCloud 学习笔记6-----Feign

    1.概述 Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样.你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做. 2.入门案例 改造luc ...

  8. 003 SpringBoot整合SpringMVC、Mybatis 案例

    1.不使用骨架创建一个maven工程 2.修改POM.xml文件 <?xml version="1.0" encoding="UTF-8"?> &l ...

  9. ajax中如何使用全局变量?

    在ajax中一般都是采取默认的异步请求,但是有时候参数是需要做到全局通用,这时候发起同步请求. 如下: $.ajax({ type:"post", url:"url路径& ...

  10. C语言学习笔记01——C语言概述

    作者:Eventi 出处:http://www.cnblogs.com/Eventi 欢迎转载,也请保留这段声明.谢谢! 1 C语言的起源 1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritc ...