mosh 是一款使用 UDP 连接 C/S 的终端工具, 服务器只需安装好 mosh 套件, 并启动 SSH 服务, 等待 Client 连接即可.

Client (mosh-client) 连接时, 需要用户提供登录 SSH 的相关信息, 然后其首先使用 SSH 协议登录服务器, 向服务器发送类似于"mosh-server new =s =l LANG=en_US.UTF-8"的命令启动 mosh-server, 并取得一个密钥和端口号, 接下来就能使 mosh-client 与 mosh-server 通信了.

客户端如何登录? 好像是类似下面的命令:

mosh  user@hostname --ssh="ssh -p 29763"

还有一种方式是首先手动在服务器运行"mosh-server"启动 mosh-server 服务, 然后在 Client 端使用回显的 UDP 端口和一个随机生成的密钥登录, 显然不实用.

采用临时Key的方式进行一次性认证,需要在服务端创建Key,然后客户端通过这个Key进行登录,该Key会在会话结束十分钟后自动失效
创建一个临时的Key和端口供Client登录
[dong.guo@heydevops ~]$ mosh-server

1 MOSH CONNECT 60001 kk4Y4csML8rJmXXYc4Ibow
2 mosh-server (mosh 1.2.4)
3 Copyright 2012 Keith Winstein <mosh-devel@mit.edu>
4 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
5 This is free software: you are free to change and redistribute it.
6 There is NO WARRANTY, to the extent permitted by law.
7 [mosh-server detached, pid = 27290]

客户端使用 mosh-client 连接服务器

Usage: mosh-client [-# 'ARGS'] IP PORT

首先定义好MOSH_KEY的值
[dong.guo@demoenv ~]$ export MOSH_KEY=kk4Y4csML8rJmXXYc4Ibow
注:mosh-client 后面只能跟服务器具体的IP地址和临时端口,不支持主机名或域名方式
[dong.guo@demoenv ~]$ mosh-client 192.168.92.128 60001

mosh的更多相关文章

  1. 使用mosh取代ssh提高n2n网络连接稳定性

    上文实现了远程n2n访问树莓派,但是ssh协议在网络状况不好的时候命令会卡住.这里发现了一个mosh协议,可以增强稳定性,使用后效果明显. 背景:使用n2n之后,在比较差的网络环境下,经常会被time ...

  2. mosh——Linux下基于UDP的SSH连接工具

    一:TCP over UDP 1.安装mosh yum install epel-releaseyum install mosh 2.使用客户端连接 mosh user@ip -p 3.查看mosh的 ...

  3. [笔记]mosh使用笔记

    听说mosh好使,那么怎么在Mac本下使用mosh来登录Ubuntu及AWS服务器呢? mosh介绍 mosh官网在:https://mosh.org/ 代码开源在:https://github.co ...

  4. 如何解决mosh中翻页只能查看一屏的问题

    最近用mosh替换了ssh作为连接开发机的工具,发现另外一个问题,ls cat随便什么命令输出结果超过一行的,向上翻页就没有了,找了下官网的FAQ也提到了这个问题,目前解决方案是使用tmux或者scr ...

  5. 解决mosh: Nothing received from server on UDP port 60001 环境: centos7.1

    主要问题在于有的教程使用iptables命令来开启对应端口, 但是centos7.1中虽然iptables仍然存在, 但是没有默认安装相关服务, 而是使用firewalld来管理防火墙. 所以我开始以 ...

  6. 使用 Mosh 来优化 SSH 连接

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

  7. 使用Mosh,本地Mac locale与Remote Debian locale不一致的问题

    事实上, 你并不需要安装语言包, 只需安装中文字体并将/etc/locale.gen 中zh_CN.UTF-8 前的注释符号去掉, 执行sudo locale-gen 然后重启即可.

  8. 【转】How to hire——创业公司应该如何招人

    How to hire After startups raise money, their next biggest problem becomes hiring.  It turns out it’ ...

  9. js 节流函数 throttle

    /* * 频率控制 返回函数连续调用时,fn 执行频率限定为每多少时间执行一次 * @param fn {function} 需要调用的函数 * @param delay {number} 延迟时间, ...

随机推荐

  1. python中lambda的使用

    为什么我们需要lambda? 既然有了def可以用来定义函数,我们为什么还需要lambda来定义.根据我的使用情况我认为lambda的优点在于: 非常适合用来构造只使用一次的函数,可以是匿名函数 有利 ...

  2. python3 字符串str

    字符串使用单引号或双引号表示: 是不可变的,当一个字符串被创建后,它始终不会被改变: 可以被迭代,也可以被切片: +拼接字符串,*重复输出字符串: 格式符%s,%d,%f u'字符串:Unicode格 ...

  3. 【APIO2018】新家(线段树)

    [APIO2018]新家(线段树) 题面 UOJ 洛谷 BZOJ 题解 论比赛时想不到二分的危害,就只能Cu滚粗 既然不要在线,那么考虑离线做法. 既然时间是区间,那么显然按照时间顺序处理答案. 显然 ...

  4. Oracle数据库中遇到的坑

    最近在帮别人忙写程序,用的是Oracle数据库,写一篇文章来说说在Oracle中遇到的一些坑: 1. PL/SQL develop的坑: 由于在这里工作环境是内网完全,无奈只能使用PL/SQL 工具, ...

  5. Python3 与 C# 面向对象之~封装

      在线编程:https://mybinder.org/v2/gh/lotapp/BaseCode/master在线预览:http://github.lesschina.com/python/base ...

  6. 集成学习值Adaboost算法原理和代码小结(转载)

    在集成学习原理小结中,我们讲到了集成学习按照个体学习器之间是否存在依赖关系可以分为两类: 第一个是个体学习器之间存在强依赖关系: 另一类是个体学习器之间不存在强依赖关系. 前者的代表算法就是提升(bo ...

  7. Day4--Python--列表增删改查,元组,range

    # 一.列表# 能装东西的东西 列表中装的数据是没有限制的,大小基本上够用# 列表用[]表示# 有索引和切片 [start,end,step] ###增删改查 (重点) # 1.新增 # appent ...

  8. memset()函数及其作用(转)

    1. memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组, c:是赋给buffer的值, c ...

  9. aliyun centos7 挂载云盘

    买了云盘,在哪里放着,也没有用到,今天把她挂上去吧! 1.查看SSD云盘sudo fdisk -l 可以看到SSD系统已经识别为/dev/vdb 2.格式化云盘sudo mkfs.ext4 /dev/ ...

  10. STM32F103 ------ 时钟配置

    由于stm32的库默认是外部晶振8M的情况下实现的,所以配置波特率的时候也是按8M,包括主频,如果用12M晶振就需要改动几个地方: 在system_stm32f10x.c中找到相应类型的文件,进行如下 ...