1.背景

XShell作为一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。作为server端开发,几乎是必备工具了。

很多刚切换到MacOS环境下的萌新都会面临一个尴尬的问题:XShell并没有提供MacOS版本,在NetSarang(XShell的爸爸)论坛里群众们也已经向官方呐喊很多年了,却迟迟不见NetSarang有MacOS版本的消息。这对于已经使用习惯Xshell的开发同学无疑是个噩梦。

记得我刚切到MacOS环境的时候,也是到处查有没有XShell的替代产品,更多的却看到的都是类似的回答:

现在看看简直是觉得这些误导MacOS萌新回答都应该浸猪笼啊,MacOS自带的Terminal虽然具备ssh的功能,但是也非常不好用,根本满足不了我们高效工作的日常。

下面开始介绍Mac终端的应该有的正确姿势。

2. iTerm2介绍

iTerm2作为MacOS下Terminal的替代品,支持MacOS v10.10 及以上版本。作为MacOS下最好用的终端应用,Iterm2具备以下特性:

  • 分屏

    Iterm2可以把一个Tab分成多个窗口,每个窗口显示一个不同的会话。可以垂直、水平的创建任意数量的窗格。

  • 标签变色

    Iterm2的标签颜色会变化,以指示该tab当前状态。当该标签有新输出的时候,标签会变成洋红色;新的输出长时间没有查看,标签会变成红色。可在设置中关掉该功能。

  • 智能选中

    在iTerm2中,双击选中,三击选中整行,四击智能选中(规则可配置),可以识别网址,引号引起的字符串,邮箱地址等。

在iTerm2中,选中即复制。即任何选中状态的字符串都被放到了系统剪切板中。

  • 自动补齐

    iTerm2可以自动补齐命令,输入若干字符,按⌘+;弹出自动补齐窗口,列出曾经使用过的命令。

  • 历史记录

    iTerm2也可以查询历史记录,按⌘+shift+h弹出历史记录窗口。

  • Tab搜索

    ⌘+option+e全屏展示所有tab,并可以进行搜索。

  • 高亮当前鼠标位置

    当我们一个标签页中窗口开的太多的时候,会有找不到鼠标指针的情况,按⌘+/可以高亮鼠标位置。

还有更多特性请查看iTerm2官网

3. 打造Mac版“Xshell”

Xshell非常的方便好用的是因为它能保存你所有的ssh登录帐号信息。MAC下并没有xshell,有些也提供这样的功能,但效果都不好。iTerm2是很好的终端,但却不能很好的支持多profiles,当要管理的机器较多时,就比较麻烦了。好在它有profiles设置,只是不能保存ssh登录帐号及密码,它还提供了加载profiles时执行外部命令的功能,因此,这里就可以使用sshpass来帮它执行。

3.1 安装sshpass

下载地址:http://sourceforge.net/projects/sshpass/files/

解压后,进入sshpass目录,执行安装:

$ ./configure
$ make
$ make install

测试安装

$ sshpass -h

3.2 配置密码

让sshpass使用ssh密码,需要先将密码保存在一个文件里,再通过sshpass读文件来获取密码,iTerm2就可以通过这样的命令来登录主机,密码文件很简单,取一个好名字,把密码写进去就可以了,没有别的任何东西,如,在用户目录的sshpass目录建一个名为pass的文件,里面写上主机密码:123456,文件地址为:/Users/<用户名>/sshpass/pwd/<密码文件>

3.3 配置iTerm2

打开iTerm2 - Preferences - Profiles

添加一个新的profile,其它没什么好配置的,主要是在General的command中选择使用command,命令就是sshpass的执行命令,如:

/usr/local/bin/sshpass -f /Users/<用户名>/sshpass/pwd/pwd1_file ssh -p22 root@192.168.100.1

  • /usr/local/bin/sshpass是sshpass执行文件的路径,如果按默认情况安装,它肯定会出现在这个位置上

  • -f 是告诉sshpass加载文件

  • /Users/<用户名>/sshpass/pwd/pwd1_file就是要加载的文件,即前面建的密码文件

  • ssh -p22 root@192.168.100.1是说用ssh链接,端口22,root帐号和IP地址

保存后,选择该profile,就可以实际ssh登录。只是如果是本机第一次登录,是不会成功的,因为ssh登录需要你yes确认,会写文件到hosts里,所以第一次会直接失败,再来一次或是先在终端里用ssh root@ip来登录一次,就可以了。

这样,新建多个profile,就可以实现管理登录了。

在实际使用过程中,iTerm配合oh-my-zsh能实现更加炫酷的功能,在后续博客中继续讲解oh-my-zsh的配置。


参考资料:

[1] iTerm2 Feature:

http://www.iterm2.com/features.html

打造MacOS版“XShell”的更多相关文章

  1. [翻译]在Windows版或MacOS版的Microsoft Edge上安装一个谷歌浏览器拓展

    原文:Install a Chrome Web Store extension on Microsoft Edge for Windows and MacOS 拓展阅读:What to expect ...

  2. 翻译 | 使用A-Frame打造WebVR版《我的世界》

    原文地址:Minecraft in WebVR with HTML Using A-Frame 原文作者:Kevin Ngo 译者:Felix 校对:阿希 我是 Kevin Ngo,一名就职于 Moz ...

  3. macOS 版微信小助手,支持微信多开、防撤回、远程控制mac、自动回复等等

    微信小助手 GitHub大牛提供的微信小助手是一款插件,该插件具备多开.防撤回.免手机认证登录.自动回复.远程控制自己的 macOS.群发等众多功能 GitHub网址:https://github.c ...

  4. 从零打造“乞丐版” React(一)——从命令式编程到声明式编程

    这个系列的目的是通过使用 JS 实现"乞丐版"的 React,让读者了解 React 的基本工作原理,体会 React 带来的构建应用的优势 1 HTML 构建静态页面 使用 HT ...

  5. xshell 5中文破解版下载

    xshell 5破解版是一款功能强大的终端模拟软件,支持Telnet.Rlogin.SSH.SFTP.Serial等远程协议,让用户能通过互联网直接连接远程主机.用户通过xshell 5破解版能轻松和 ...

  6. Vysor破解助手for Linux and macOS

    <Vysor Pro破解助手>提供了Windows下的Vysor破解工具,为了使用Linux及macOS同学的方便,最近整理了Linux及macOS版的Vysor破解助手. Linux版V ...

  7. MyChrome制作Chrome浏览器便携版

    Google Chrome官方离线下载地址: https://api.shuax.com/tools/getchrome MyChrome下载地址: http://code.taobao.org/p/ ...

  8. Linux远程连接ssh工具(FinalShell)xshell替代神器

    对对对 FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本2.9.8,更新时间2019.6.19 wntr 2017-01-17 11:0 ...

  9. (一)通过JAVA连接SAP (sapjco3.jar在Windows和MacOS上的配置)

    (一)通过JAVA连接SAP调用接口 (sapjco3.jar在Windows和MacOS上的配置) 一.sapjoc3.jar获取 由于sap官网提供的链接需要合作公司提供账号密码,如果商用请索要正 ...

随机推荐

  1. centos 6 安装zabbix 3.0

    1.安装PHP Zabbix 3.0对PHP的要求最低为5.4,而CentOS6默认为5.3.3,完全不满足要求,故需要利用第三方源,将PHP升级到5.4以上,注意,不支持PHP7 rpm -ivh  ...

  2. CentOS7关闭/开启防火墙出现 Unit iptables.service failed to load

    在vm中安装好tomcat,而且在liunx中使用nc命令可以返回成功,但是更换到window中访问不到tomcat的情况,是由于linux防火墙的问题造成的,传统的解决方式有2中 第一种解决方案: ...

  3. Java long类型和Long类型的那些事

    还记得最近做了一个项目使用的是Long类型作为主键Id坑死人了,对于我们来说Long类型一样是一个包装类型,类似String类型,使用==符号进行比较的时候有时候会出现问题,建议适应equal()方法 ...

  4. 初学Python(第一课)

    今天整理一下关于Python初学者的基础知识部分的第一课,因为之前学习过C,所以过于基础的知识就不详细记录了. Python相对于C\C++来说,在语法方面已经很简单了:甚至对于JavaScript也 ...

  5. Laravel框架中Form表单Get请求搜索(在此感谢[https://simon8.com])

    首先看一下HTML部分的Form表单 <form role="search" method="get" id="searchform" ...

  6. hdu1698 Just a Hook 线段树

    共有Q个更新,每次更新给更新的区间一个标记,表示该区间是在哪一次被更新,最后统计答案是以最近被更新的值为答案. AC代码: #include<cstdio> const int maxn= ...

  7. 科普 TLS 1.3—新特性与开启方式

    TLS 1.3 协议针对安全强化及效率提升等方面进行了大量修改,相继推出 20 多个草案版本,即将完成最终的标准化.标准完成后,OpenSSL 组织将推出 OpenSSL 1.1.1 版本,对 TLS ...

  8. Hama安装及示例运行

    Hama介绍 Apache Hama是一个纯BSP(Bulk Synchronous Parallel)计算框架,模仿了Google的Pregel.用来处理大规模的科学计算,特别是矩阵和图计算. BS ...

  9. 用Node.JS+MongoDB搭建个人博客(model目录)(三)

    model目录主要是封装一些经常使用的方法,便于使用. setting.js文件: 很简单,就单单封装了一个url作为公用,以后改就方便改了. md5.js(不推荐用): db.js文件: db.js ...

  10. 利用ffmpeg做视频解码的顺序

    这几天在实验室捣鼓着用ffmpeg做视频解码,终于把数据解出来了,虽然还没有做显示部分,不知道解码解得对不对,但料想是不会有什么问题了.回头看看这几天的工作,其间也遇到了不少问题,主要还是对ffmpe ...