入了MAC PRO后,terminal工具需要重新考虑,同事严重推荐使用iterm2,刚开始还没适应过来,用了一段时间的secureCRT,不过secureCRT不支持retina屏,还是转向免费又好用的iterm2
使用iterm2必须要配置好自动登录,在 Preferences->Profiles->新增profile
"Send text at start:"中写入你需要启动是调用的脚本
1. 直接登录,不用通过中转机方式,简单明了
[cc lang='sql']#!/usr/bin/expect
set timeout 120
spawn /usr/bin/ssh toby@login.xxxx.org
expect "*password*"
send "****\n"
interact[/cc]
2. 需要通过挑板机的方式
[cc lang='sql']#!/bin/sh
sshcmd='ssh   -o StrictHostKeyChecking=no   -o NumberOfPasswordPrompts=1 -o ConnectTimeout=2'
online_login_ssh (){
expect -c "set timeout -1;
spawn -noecho $sshcmd -tt toby@login.xxx.org  $sshcmd  $2
expect *assword:*;
send -- xxxx\r;
expect *assword:*;
send -- $1\r;
interact;";
}
online_login_ssh tobypasswd boby@hostnameip[/cc]
脚本的介绍可参考这位网友的文章 expect spawn、linux expect 用法小记
对于登录服务器的密码是动态的,那么可以参考这位网友的写法,使用类似于secureCRT的clone session的方式,避免重复输入密码 linux clone session
在你的登录账户下的.ssh文件夹新建一个文件:config.
cd ~/.ssh
config的文件中,内容为:
[cc lang='sql']host *
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p[/cc]
重新打开终端,第一次,你还是需要输入密码,第二次ssh登录同一台机器,你就不用输入密码了,跟secureCRT一样的clone session的方式一样。
在~/.ssh/目录下发现master-*的sock文件。它记录了你目前登录到的机器,这样的话,你登录同样的机器就会重用同一个链接了。
config文件的详细介绍可以参考:
http://linux.die.net/man/5/ssh_config
使用这种方式只需要输入一次密码即可,所以当使用时,再配合上面介绍的自动登录脚本会有问题,会导致自动登录脚本卡壳住。 解决办法是:在自动登录脚本中欧功能把输入密码的那两行去掉,即可!
Have fun!
This work is licensed under a CC A-S 4.0 International License.