iterm2 自动连接服务器配置

做~自己de王妃 提交于 2019-12-09 16:47:52

expect脚本配置

expect这个语言,我觉得提供了和进程交互的能力吧,具体语句含义见参考。
下面有2种情况,第一种是直接连服务器,也就是需要输入密码的方式,当然在服务器把你电脑公钥放上去,密码也不用输了。第二种情况的话,大部分公司去连线上服务器,都要经过跳板机,我们公司使用的是JumpServer,跳板机如何配置也不讲了。

普通服务器脚本

connect.sh

#!/usr/bin/expect
set timeout 30
spawn ssh  [lindex $argv 0]@[lindex $argv 1]
expect "password"
send "[lindex $argv 2]\r\n"
expect "$*"
send "cd [lindex $argv 3]/\n"
send "tail -200f [lindex $argv 4]\n"
interact

直接使用方式如下

./connect.sh {username} {host} {password} {directory}  {logFile}
跳板机脚本

jump.sh

#!/usr/bin/expect
spawn ssh jhost
expect "*" {send "[lindex $argv 0]\n"} 
expect "$*" {send "cd [lindex $argv 1] \n"}
send "tail -200f [lindex $argv 2]\n"
interact

直接使用方式如下

./jump.sh {jumpServerName} {directory}  {logFile}

iTerm2 profile配置

在iTerm2中每个profile对应于一台远程主机。

profile的配置页面如下
在这里插入图片描述

tags用于对profile分组,我们可以一键打开同一tag下的所有服务器。
Badge用于给打开的profile增加一个标记,在控制台右上角显示。
Command中的命令/脚本会在profile打开时执行,上一节的脚本会配置在这里。

profile使用方式如下

在这里插入图片描述

我们可以打开具体某个profile也可以通过Open All打开某个tag下所有profile
在这里插入图片描述

一秒钟查看6台服务器错误日志,是不是省了很多力气。

如何简易配置多个profile
有些profile的配置十分复杂(比如文件上传下载,每个profile都要重新配置),我们不可能手动配置第二个,我们有以下方式快速来配置其他类似的profile。

使用 Other Actions -> Duplicate Profile
使用 Other Actions -> Save Profile as JSON导出配置,然后修改为新配置,在通过 Other Actions -> Import JSON Profiles 导入
使用Dynamic Profile功能,和普通的profile不同,Dynamic Profile相当于做了持久化,并且修改后配置立刻生效。
Dynamic Profile 文件格式和导出的profile一致,只不过需要放在一个固定目录下,具体如何使用见参考中的链接

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!