×

iterm2如何不用每次输入密码登录ssh

96
清晨迷雾
2017.02.27 15:02* 字数 291

习惯windows下ssh管理工具xshell或者secureCRT,切换到mac osx中也想使用类似的管理工具方便快速连接。secureCRT在mac下是有版本的,但是收费,可以破解,并且界面太丑(长得丑还要钱~_~),iterm2是个不错的工具至少看起来比较漂亮,并且支持自定义插件,是个不错的免费开源工具。
接下来就设置iterm2支持ssh不要输入密码登录

第一步: 创建shell命令文件,具体的路径自己放置,示例:/Users/yuml/bin/iterm2login.sh

#!/usr/bin/expect

set timeout 30
spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2]
expect {
        "(yes/no)?"
        {send "yes\n";exp_continue}
        "password:"
        {send "[lindex $argv 3]\n"}
}
interact

shell文件是expect语言脚本,可以自动和网络交互,基本原理就是解析ssh的命令文本返回,根据文本内容匹配,执行对应的操作,send就是模拟人工输入。

第二步: 设置iterm2,在profiles中建立一个新profile,配置如192.168.100.127中描述填写。


profile设置
Name: 填写便于记忆的名称
Login shell -> Send text at start: /Users/yuml/bin/iterm2login.sh 22 root 192.168.100.127 password

第三步: 运行profile, 在iterm2的顶部工具栏有一栏Profiles,就可以看到对应的profle,双击就可以了。

工具效率
Web note ad 1