已有服务器ip,用户名和密码
通过iterm2进行远程连接
ssh root@192.168.728.34
root是你的用户名,后面是ip地址
然后回车,之后会要求你输入密码;密码输入时,并不会显示你的输入内容,照常输入完毕就行,然后回车就能连接上了
也可以通过ssh方式连接,但是本文不涉及这方面的了
每次连接都输入这么长,确实不太方便,也容易出错
所以我们要想个办法,怎么把这个连接自动化
通过expect脚本的方式,编写一个login.exp的脚本
mac生成文件的话,可以在当前文件夹下
touch login.exp
生成txt等文件也可以用此命令;
然后对文件进行编辑:
vi login.exp
这样我们就可以在iterm2中对文件进行编辑
将下面的内容复制到login.exp中:
set timeout 30
spawn ssh [lindex $argv 0]@[lindex $argv 1]
expect {
"(yes/no)?"
{send "yes\n";exp_continue}
"password:"
{send "[lindex $argv 2]\n"}
}
interact
粘贴过去后,在英文输入法的前提下,输入 :,就是按shift+;两个键
然后输入wq,回车,文件就修改完毕并且保存完成了
接下来,我们将文件移动到能起作用的位置
mv ~/Desktop/login.exp /usr/local/bin
我是将在桌面上创建的login.exp 移动到了/usr/local/bin下
第一个是你文件所在的位置,第二个是你要移动到的位置,别弄反了
/usr/local/bin这个文件夹,应该是对应mac的环境变量$PATH,具体我没研究
放到这里,后面就可以正常使用了
然后command+o;
然后下次打开后,双击就可以进行连接
或者点击下面的按钮
也许会报错,显示 权限不足之类的,类似:
permission denied: /usr/local/bin/login.exp
这时,我们需要执行:
chmod -R a+x /usr/local/bin/login.exp
来给路径添加可执行的权限
之后就可以正常进行连接了