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. 【翻译】Flink Table Api & SQL — Hive —— 读写 Hive 表

    本文翻译自官网:Reading & Writing Hive Tables  https://ci.apache.org/projects/flink/flink-docs-release-1 ...

  2. maya2018 + VS2017 C++编译环境搭建

    1. 下载: https://www.autodesk.com/developer-network/platform-technologies/maya 2. 解压,将devkitBase下的incl ...

  3. 使用epoll实现一个udp server && client

    udp server #!/usr/bin/env python #-*- coding:utf-8 -*- import socket import select import Queue #创建s ...

  4. [Go] 环境变量,模块化与基础语法

    [环境变量] 安装完 go 之后,设置必要环境变量: export GOPATH=/home/wc/go-lab export GO111MODULE=on export GOPROXY=https: ...

  5. Gerrit - Gerrit与GitLab集成

    1 - 简介 虽然Gerrit 本身提供 Code Review和 Git 仓库的两大功能,但实际上很多项目用的是其他的Git仓库,例如GitLab和GitHub. 一般情况下,Gerrit位于最终代 ...

  6. updatetable 违反并发性: UpdateCommand 影响了预期 1 条记录中的 0 条造成问题一种原因

    数据库 表A ID  UserName DeptID DeptName 1      张三          1          技术部 表B ID   DeptName 1      市场部 当使 ...

  7. Delphi 开发微信公众平台 (三)- 获取微信服务器IP地址

    如果公众号基于安全等考虑,需要获知微信服务器的IP地址列表,以便进行相关限制,可以通过该接口获得微信服务器IP地址列表或者IP网段信息. 接口调用请求说明 http 请求方式: GET https:/ ...

  8. 【LEETCODE】69、动态规划,easy,medium级别,题目:198、139、221

    package y2019.Algorithm.dynamicprogramming.easy; /** * @ProjectName: cutter-point * @Package: y2019. ...

  9. java 版本兼容

    Unsupported major.minor version 52.0 这个错误网上一百度一大堆,我就简单的记一下. 直译过来意思是:不支持version52.0,其中version 52.0是魔码 ...

  10. Python 基础-import 与 from...import....

    简单说说python import与from-import- 在python用import或者from-import来导入相应的模块.模块其实就一些函数和类的集合文件,它能实现一些相应的功能,当我们需 ...