Mosh 表示移动 Shell(Mobile Shell),是一个用于从客户端跨互联网连接远程服务器的命令行工具。它能用于 SSH 连接,但是比 Secure Shell 功能更多。它是一个类似于 SSH 而带有更多功能的应用。程序最初由 Keith Winstein 编写,用于类 Unix 的操作系统中,发布于GNU GPL v3协议下。

Mosh Shell SSH 客户端

Mosh的功能

它是一个支持漫游的远程终端程序。

在所有主流的类 Unix 版本中可用,如 Linux、FreeBSD、Solaris、Mac OS X 和 Android。

支持不稳定连接

支持智能的本地回显

支持用户输入的行编辑

响应式设计及在 wifi、3G、长距离连接下的鲁棒性

在 IP 改变后保持连接。它使用 UDP 代替 TCP(在 SSH 中使用),当连接被重置或者获得新的 IP 后 TCP 会超时,但是 UDP 仍然保持连接。

在很长的时候之后恢复会话时仍然保持连接。

没有网络延迟。立即显示用户输入和删除而没有延迟

像 SSH 那样支持一些旧的方式登录。

包丢失处理机制

Linux 中 mosh 的安装

在 Debian、Ubuntu 和 Mint 类似的系统中,你可以很容易地用 apt-get 包管理器安装。

# apt-get update

# apt-get install mosh

在基于 RHEL/CentOS/Fedora 的系统中,要使用 yum 包管理器安装 mosh,你需要打开第三方的 EPEL。

# yum update

# yum install mosh

在 Fedora 22+的版本中,你需要使用 dnf 包管理器来安装 mosh。

# dnf install mosh

我该如何使用 mosh?

1、 让我们尝试使用 mosh 登录远程 Linux 服务器。

$ mosh root@192.168.0.150

mosh远程连接

注意:你有没有看到一个连接错误,因为我在 CentOS 7中还有打开这个端口。一个快速但是我并不建议的解决方法是:

# systemctl stop firewalld [在远程服务器上]

更好的方法是打开一个端口并更新防火墙规则。接着用 mosh 连接到预定义的端口中。至于更深入的细节,也许你会对下面的文章感兴趣。

2、 让我们假设把默认的 22 端口改到 70,这时使用 -p 选项来使用自定义端口。

$ mosh -p 70 root@192.168.0.150

3、 检查 mosh 的版本

$ mosh --version

检查mosh版本

4、 你可以输入exit来退出 mosh 会话。

$ exit

5、 mosh 支持很多选项,你可以用下面的方法看到:

$ mosh --help

Mosh 选项

mosh 的优缺点

mosh 有额外的需求,比如需要允许 UDP 直接连接,这在 SSH 不需要。

动态分配的端口范围是 60000-61000。第一个打开的端口是分配好的。每个连接都需要一个端口。

默认的端口分配是一个严重的安全问题,尤其是在生产环境中。

支持 IPv6 连接,但是不支持 IPv6 漫游。

不支持回滚

不支持 X11 转发

不支持 ssh-agent 转发

总结

mosh是一款在大多数linux发行版的仓库中可以下载的一款小工具。虽然它有一些差异尤其是安全问题和额外的需求,它的功能,比如漫游后保持连接是一个加分点。我的建议是任何一个使用ssh的linux用户都应该试试这个程序,mosh值得一试。

本文由 LCTT 原创翻译,Linux中国 荣誉推出

连接linux工具mobile,技术|mosh:一个基于 SSH 用于连接远程 Unix/Linux 系统的工具相关推荐

  1. mosh:一个基于 SSH 用于连接远程 Unix/Linux 系统的工具

    Mosh 表示移动 ShellMobile Shell,是一个用于从客户端跨互联网连接远程服务器的命令行工具.它能用于 SSH 连接,但是比 Secure Shell 功能更多.它是一个类似于 SSH ...

  2. go语言实现的一个基于go-zero框架的微服务网盘系统butane-netdisk

    基于go-zero框架的butane-netdisk微服务网盘系统 项目基本介绍和技术使用情况 项目开源地址:butane123/butane-netdisk: 一个基于go-zero框架的微服务网盘 ...

  3. opencv交通标志识别_教你从零开始做一个基于深度学习的交通标志识别系统

    教你从零开始做一个基于深度学习的交通标志识别系统 基于Yolo v3的交通标志识别系统及源码 自动驾驶之--交通标志识别 在本文章你可以学习到如何训练自己采集的数据集,生成模型,并用yolo v3算法 ...

  4. 自荐Mall4j项目一个基于spring boot的Java开源商城系统

    前言 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样 ...

  5. Moodlens:一个基于表情符号的中文微博情感分析系统(A3, SIGKDD2012)

    Moodlens: an emoticon-based sentiment analysis system for chinese tweets Moodlens:一个基于表情符号的中文微博情感分析系 ...

  6. 基于SSH开发的宠物销售商城系统 JAVA MySQL

    10077基于SSH开发的宠物销售商城系统 代码: 鏈-椄:https://pan@baidu@com/s/1wAjL3PK78Bv9866q-B6kuw (把@换成 . 就可正常访问) 趧-紶-碼: ...

  7. 基于SSH的通讯网络电子计费系统 毕业论文+任务书+开题报告+文献综述+外文翻译及原文+答辩PPT+代码清单+项目源码及数据库文件

    下载地址:https://download.csdn.net/download/junkyio321/40671271 项目介绍: 基于SSH的通讯网络电子计费系统 毕业论文+任务书+开题报告+文献综 ...

  8. java项目-第86期基于ssh的上门家教在线预约系统

    源码获取:本博客首页"资源"专栏下载! java项目-第86期基于ssh的上门家教在线预约系统 1.项目简述 该项目上门家教在线预约网站,分为普通用户.教师.管理员三个角色. 普通 ...

  9. 一个基于C#开发的轻量级OCR文字识别开源工具

    在日常工作中是否经常碰到,需要从图片提取文字呢.这种情况,我们只能一个字一个字的去敲打,这样效率实在太慢了,这时候就需要用到文字识别工具. 所以今天给大家推荐一个基于C#开发的Windows OCR工 ...

最新文章

  1. 真的有人在偷听我们讲话么?
  2. linux下修改MySQL 密码
  3. 几种常用的配电网络接线
  4. ASP.NET中MVC编程模式简介与搭建HelloWorld项目
  5. 奔跑吧,OpenStack现场分享:超融合架构如何抹平物理硬件差异?
  6. linux相关知识之特殊符号做目录
  7. 水电图wp表示什么_装修水电工入门基础知识,刚入行不懂不用急?老师傅告诉你怎么做...
  8. 吴恩达深度学习 —— 4.3 核对矩阵的维数
  9. 【原理】解析一致性哈希算法
  10. SQL Developer 使用问题与解决方法汇总
  11. php对接小程序获取表单,PHP实现微信小程序用户授权的工具类
  12. matlab java mac_macOS Mojave上Matlab 2018a与Java的联合编程
  13. 2020谷歌服务助手_华为mate30没法用谷歌?新加坡网友实测如何越过官方限制!...
  14. 从表征到行动---意向性的自然主义进路(续三)
  15. 2017ccpc哈尔滨站部分简要题解
  16. 12306 外包给阿里巴巴、IBM 等大企业做是否可行?
  17. 数据结构铁轨问题_数据结构大作业(试题题目)
  18. 计算机无法完成评估,window_Windows Vista下系统评分无法完成的问题,不知道大家有没有遇到过这样 - phpStudy...
  19. 企业微信第三方应用开发--回调配置
  20. Oracle Data Guard 简介

热门文章

  1. android adt安装配置,Android SDK环境变量配置ADT安装
  2. AR交互将为早教机器人打开一片蓝海
  3. 【FlutterFlame游戏 - 拾伍】粒子系统 | ParticleSystemComponent
  4. 15寸计算机显示器,从15寸到30寸!主流尺寸LCD功耗大揭秘
  5. Python一日一练08----鸡尾酒排序
  6. 科沃斯机器人招股_科沃斯机器人IPO 将迎产能大扩张
  7. 韦东山 数码相框 项目学习 (七)awtk的移植
  8. 电子二极管(真空二极管), 电子三极管(真空三极管), 晶体二极管, 晶体三极管
  9. Softmax的通俗讲解
  10. iOS 15.4 更新比我们预期的要大得多还有 7 个有意思的变化