Mac系统下,让Iterm 4 来记住常用的登录账号和密码

by Liu Yue/2019-04-03
  经常在Mac下使用Iterm4的朋友肯定遇见过这种情况,每次连接某个远程服务器总是要一遍遍的敲用户名、密码。 那么能不能像Windows的软件一样,可以直接让软件记住。每次只要点击一下,就直接ssh到远程服务器上面去了,答案当然是可以了,这里推荐使用expect脚本来实现。

  
#!/usr/bin/expect

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

  这里[lindex $argv 0], [lindex $argv 1], [lindex $argv 2], [lindex $argv 3] 分别代表着4个参数 分别是 端口号 用户名 ip地址 以及密码

  将这个文件 item4login.sh 复制到 /usr/local/bin 就可以了

  在iterm4的账户登录配置里,直接使用LoginShell的方式登录即可

  例子 item4login.sh root 123 123
  
  需要注意一点,如果你的密码包含特殊符号,会使expect中的send语法出现错误,所以只要将密码中的特殊符号使用\转义一下就可以了
  
  原密码 12@3
  例子 item4login.sh root 123 12\@3