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. Golang 连接ActiveMQ

    使用ActiveMQ库:github.com/go-stomp/stomp 示例代码 package main import ( "net" "fmt" &qu ...

  2. 【SQL骚操作】SqlServer数据库表生成C# Model实体类SQL语句

    已知现有表T1 想快速获取cs类结构 /// <summary> /// T1 /// </summary> public class T1 { /// <summary ...

  3. springboot:自定义缓存注解,实现生存时间需求

    需求背景:在使用springbot cache时,发现@cacheabe不能设置缓存时间,导致生成的缓存始终在redis中. 环境:springboot 2.1.5 + redis 解决办法:利用AO ...

  4. Mysql日期函数说明

    1.获取当天日期 current_date  ->   2019-07-17 00:00:00 2.获取昨天日期函数 date_sub(current_date,INTERVAL 1 day)  ...

  5. windows mysql手动添加my.ini 服务启动不了

    [mysqld] character-set-server=utf8 #绑定IPv4和3306端口 bind-address=0.0.0.0 port= default_storage_engine= ...

  6. spring boot 2X中@Scheduled实现定时任务及多线程配置

    使用@Scheduled 可以很容易实现定时任务 spring boot的版本 2.1.6.RELEASE package com.abc.demo.common; import org.slf4j. ...

  7. [精] UBOOT2017+FIT 启动流程详尽分析

    开发环境:Nanopi-neo-plus2 软件版本:uboot-2017 软件版本:linux-4.14 买这个板子有一段时间了,并没有全身心的投入在上面,有时间了的话就搞一搞, 这篇随笔算是对这个 ...

  8. SQL Server 中的窗口函数(2012 新函数)

    简介 SQL Server 2012之后对窗口函数进行了极大的加强,但对于很多开发人员来说,对窗口函数却不甚了解,导致了这样强大的功能被浪费,因此本篇文章主要谈一谈SQL Server中窗口函数的概念 ...

  9. 在CAD中插入谷歌地球卫星地图

    本文主要介绍如何在CAD中插入谷歌地球卫星地图,作为参照光栅图像.谷歌地球卫星地图使用“迈高图-地图数据下载器”(以下简称:迈高图)下载.迈高图会给出相关插入参数(插入点和缩放比例),保证插入卫星地图 ...

  10. Codeforces Round #581 (Div. 2)

    A:暴力. #include<cstdio> #include<cstring> #include<iostream> #include<algorithm& ...