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

卖点就是通过UDP传输,网络切换可以自动重连,不会导致执行中的命令断掉。
mosh安装
Ubuntu下安装mosh服务器:
$ sudo apt-get install mosh
Mac下安装mosh客户端:
$ brew install mosh
运行
Ubuntu下运行mosh-server:
$ mosh-server
MOSH CONNECT 60001 y8btZAE3fjpmzQu7s/4XWg
mosh-server (mosh 1.3.2) [build mosh 1.3.2]
Copyright 2012 Keith Winstein <mosh-devel@mit.edu>
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[mosh-server detached, pid = 7195]
看到mosh-server detached不要慌,毕竟它也不监听端口。
假设服务器地址为123.123.123.123,用户名是etworker,则Mac下运行:
$ mosh etworker@123.123.123.123
如果一切顺利,连接起来就像ssh一样。
如果服务器ssh的端口是2222,则用下面的方式连接:
$ mosh --ssh="ssh -p 2222" etworker@123.123.123.123
注意
Mosh使用的UDP协议连接的,使用的端口是从60000到61000,如果开启了防火墙服务器上就需要打开相应的UDP端口。
一个Mosh连接就会打开一个UDP端口,比如建立两个连接就是60001、60002,以此类推。
假设Mosh使用60001 UDP端口,则在服务器上运行
$ iptables -I INPUT -p udp –dport 60001 -j ACCEPT
这样就在服务器上打开60001这个UDP端口。
当然,最好是把上一条命令写入服务器iptables的规则中,这样不必要每次都手动打开这个端口。
Amazon AWS
我在Amazon上的服务器是通过key文件做的鉴权,所以先说一下Mac怎么ssh上去。
先将密钥文件拷贝到Mac上,比方说文件名叫xxx.pem,然后修改权限:
$ chmod 400 xxx.pem
假设服务器地址是111.111.111.111,进到xxx.pem同目录下,ssh如下:
$ ssh -i xxx.pem ubuntu@111.111.111.111
此时在服务器上安装mosh,方式同上。
注意需要在安全组里面配置端口,开放6000-61000的UDP端口。
安全组的端口过滤方法,应该不需要再细说了吧。
接着就可以使用Mac来连接了:
$ mosh --ssh="/usr/bin/ssh -i xxx.pem" ubuntu@111.111.111.111
参考文献
[笔记]mosh使用笔记的更多相关文章
- [读书笔记]C#学习笔记八:StringBuilder与String详解及参数传递问题剖析
前言 上次在公司开会时有同事分享windebug的知识, 拿的是string字符串Concat拼接 然后用while(true){}死循环的Demo来讲解.其中有提及string操作大量字符串效率低下 ...
- 《learning hard C#学习笔记》读书笔记(19)多线程
19.1 多线程编程知识 19.1.1 进程与线程的概念 进程: 可以理解为一块包含某些资源的内存区域,操作系统通过进程方式把它工作划分为不同的单元. 一个应用程序可以对应多个进程. 线程: 线程是进 ...
- 面向小白的JS笔记 - #Codecademy#学习笔记
前言 最初浏览过<JavaScript秘密花园>,前一段时间读过一点点<JavaScript语言精粹>和一点点<JavaScript高级程序设计>(一点点是指都只是 ...
- [读书笔记]C#学习笔记一: .Net Framwork
前言: 一次偶然的机会 在园子里看到@Learning hard 出版的一本书: <<C#学习笔记>>, 然后买来 一直到现在读完, 感觉很不错, 适合入门, 书中内容是从C ...
- 2016年第2周读书笔记与工作笔记 scrollIntoView()与datalist元素
这一周主要是看了html5网页开发实例与javascript 高级程序设计,供以后翻阅查找. html5网页开发实例第1章与第二章的2.1部分: 第1章内容: html5在w3c的发展史. 浏览器的 ...
- [读书笔记]C#学习笔记三: C#类型详解..
前言 这次分享的主要内容有五个, 分别是值类型和引用类型, 装箱与拆箱,常量与变量,运算符重载,static字段和static构造函数. 后期的分享会针对于C#2.0 3.0 4.0 等新特性进行. ...
- contiki-main.c 中的process系列函数学习笔记 <contiki学习笔记之六>
说明:本文依然依赖于 contiki/platform/native/contiki-main.c 文件. ---------------------------------------------- ...
- Python学习笔记2-flask-sqlalchemy 简单笔记
flask-sqlalchemy 简单笔记 字数 阅读 评论 喜欢 flask-sqlalchemy SQLAlchemy已经成为了python世界里面orm的标准,flask是一个轻巧的web框架, ...
- spring笔记----看书笔记
上周末看了一章以前javaee轻量级的书spring部分,简单做了一些笔记 // ApplicationContext ac=new ClassPathXmlApplicationContext(&q ...
随机推荐
- Js 的几种去重(一维)
写的几种数组去重方法: 第一种: [利用排序方法,然后比较当前元素与下一个元素是否相等] function repeat1(arr) { var length = arr.length; var re ...
- Laravel5.1 搭建博客 --文章的增删改查
教程源于:Laravel学院 继文件上传后呢,咱来搞一搞文章的事情. 1 更改数据表 我们需要改改数据表的结构 因为涉及到重命名列名 所以咱需要引入一个包:Doctrine: composer req ...
- Struts2_day03--从值栈获取数据_EL表达式获取值栈数据(为什么)
从值栈获取数据 1 使用struts2的标签+ognl表达式获取值栈数据 (1)<s:property value=”ognl表达式”/> 获取字符串 1 向值栈放字符串 2 在jsp使用 ...
- 第二十一篇:Linux 操作系统中的进程结构
前言 在 Linux 中,一个正在执行的程序往往由各种各样的进程组成,这些进程除了父子关系,还有其他的关系.依赖于这些关系,所有进程构成一个整体,给用户提供完整的服务( 考虑到了终端,即与用户的交互 ...
- JQZoom
UI采用jQuery插件 习惯网购的朋友都深有体会.大部分皇冠级淘宝卖家都是图片控.京东商城的放大图效果也是吸引消费者的法宝之一.京东商城产品展示页支持多图切换并放大代码,放大功能的核心代码为jQzo ...
- css做鼠标指向图片图片放大但边框不放大
这是一个圆形边框做的效果 HTML <div class="circle-wrapper"> <img src="" > </di ...
- 一句css代码让网站变灰
<style> html{ -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grays ...
- 使用jquery修改标题$("title").html("标题")应注意的问题
使用jquery修改标题$("title").html("标题")应注意的问题: 如果修改后的标题和原标题一致,jquery会跳过该操作,这种情况再从其他页面回 ...
- 元素隐藏 css
参考:http://www.zhangxinxu.com/wordpress/2011/03/css-%E7%9B%B8%E5%AF%B9%E7%BB%9D%E5%AF%B9relativeabsol ...
- JS获取时间戳+C#水煎戳转换
JS获取了当前毫秒的时间戳. var timestamp=new Date().getTime(); //第二种方法: //var timestamp = (new Date()).valueOf() ...