[TOC]
Iterm2记住ssh密码
有了这玩意,今后就完全不在使用其他的ssh工具了
之前都使用sshpass来做,但是sshpass会把密码直接暴露在屏幕上,所以后面就用了expect脚本的方式.
一. 准备配置文件
添加配置文件
文件路径自定
1#!/usr/bin/expect 2 3# /Users/liuhao/my-shell/expect.sh liuhao@192.168.1.100 4 5# expect 是基于tcl的相对简单的一个免费脚本编程工具语言 6# spawn 交互程序开始后面跟命令或者指定程序 7# expect 获取匹配信息匹配成功则执行expect后面的程序动作 8# send exp_send 用于发送指定的字符串信息 9# exp_continue 在expect中多次匹配就需要用到 10# send_user 用来打印输出 相当于shell中的echo 11# exit 退出expect脚本 12# eof expect执行结束 退出 13# set 定义变量 14# puts 输出变量 15# set timeout 设置超时时间 16# interact 设置为用户交互模式没有这个命令,登进去后会马上 17# [lindex $argv 0] 第一个参数 18# [lindex $argv 1] 第二个参数 19 20 21set cmd [lindex $argv 0] 22set time 5 23set password 密码\n 24spawn ssh $cmd 25expect { 26 "*yes/no" {send "yes\n"} 27 "*password:" {send "$password\n"} 28} 29interact
执行命令
可用来测试,也可直接放在profile 中的command
/Users/liuhao/my-shell/expect.sh liuhao@192.168.1.100
二. 设置iterm2
step1. 打开软件设置(Command+,)

step2. 进入个人设置,点击+号, 新增自定义配置

step3. 自定义备注信息
1name : 展示名称, 给自己看的,没别的用 2tags: 自定义标签, 可以在后面的第三步的第一步中看到,相同的develop标签的都分成了一组. 3选择command,输入我们准备好的输入脚本地址,以及参数

配置完成
三. 运行
直接运行

通过列表选择运行 (快捷键Command + O)
step1.

step2.
