XShell做为一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。做为server端开发,几乎是必备工具了。html
不少刚切换到MacOS环境下的萌新都会面临一个尴尬的问题:XShell并无提供MacOS版本,在NetSarang(XShell的爸爸)论坛里群众们也已经向官方呐喊不少年了,却迟迟不见NetSarang有MacOS版本的消息。这对于已经使用习惯Xshell的开发同窗无疑是个噩梦。shell
记得我刚切到MacOS环境的时候,也是处处查有没有XShell的替代产品,更多的却看到的都是相似的回答:segmentfault
如今看看简直是以为这些误导MacOS萌新回答都应该浸猪笼啊,MacOS自带的Terminal虽然具有ssh的功能,可是也很是很差用,根本知足不了咱们高效工做的平常。安全
下面开始介绍Mac终端的应该有的正确姿式。ssh
iTerm2做为MacOS下Terminal的替代品,支持MacOS v10.10 及以上版本。做为MacOS下最好用的终端应用,Iterm2具有如下特性:工具
分屏
Iterm2能够把一个Tab分红多个窗口,每一个窗口显示一个不一样的会话。能够垂直、水平的建立任意数量的窗格。测试
标签变色
Iterm2的标签颜色会变化,以指示该tab当前状态。当该标签有新输出的时候,标签会变成洋红色;新的输出长时间没有查看,标签会变成红色。可在设置中关掉该功能。.net
智能选中
在iTerm2中,双击选中,三击选中整行,四击智能选中(规则可配置),能够识别网址,引号引发的字符串,邮箱地址等。指针
在iTerm2中,选中即复制。即任何选中状态的字符串都被放到了系统剪切板中。code
⌘+;
弹出自动补齐窗口,列出曾经使用过的命令。⌘+shift+h
弹出历史记录窗口。⌘+option+e
全屏展现全部tab,并能够进行搜索。⌘+/
能够高亮鼠标位置。还有更多特性请查看iTerm2官网。
Xshell很是的方便好用的是由于它能保存你全部的ssh登陆账号信息。MAC下并无xshell,有些也提供这样的功能,但效果都很差。iTerm2是很好的终端,但却不能很好的支持多profiles,当要管理的机器较多时,就比较麻烦了。好在它有profiles设置,只是不能保存ssh登陆账号及密码,它还提供了加载profiles时执行外部命令的功能,所以,这里就可使用sshpass来帮它执行。
下载地址:http://sourceforge.net/projects/sshpass/files/
解压后,进入sshpass目录,执行安装:
$ ./configure $ make $ make install
测试安装
$ sshpass -h
让sshpass使用ssh密码,须要先将密码保存在一个文件里,再经过sshpass读文件来获取密码,iTerm2就能够经过这样的命令来登陆主机,密码文件很简单,取一个好名字,把密码写进去就能够了,没有别的任何东西,如,在用户目录的sshpass目录建一个名为pass的文件,里面写上主机密码:123456,文件地址为:/Users/ <用户名> /sshpass/pwd/ <密码文件>
打开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