iterm2连接远程服务器

已有服务器ip,用户名和密码
通过iterm2进行远程连接

ssh [email protected]

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;
iterm2连接远程服务器_第1张图片

iterm2连接远程服务器_第2张图片
然后下次打开后,双击就可以进行连接
iterm2连接远程服务器_第3张图片
或者点击下面的按钮

也许会报错,显示 权限不足之类的,类似:

permission denied: /usr/local/bin/login.exp

这时,我们需要执行:

chmod -R a+x /usr/local/bin/login.exp

来给路径添加可执行的权限
之后就可以正常进行连接了

你可能感兴趣的:(服务器,iterm,iterm,服务器,远程连接)