iterm2通过跳板机登陆机器,免密以及配置sz、rz命令
一,登录跳板机
首先是已经拿到了通道机的权限。
1,登陆跳板机:
ssh myname@xx.channel.xx.com
输入通道机的密码
2,输入要执行的命令标号,“1”,表示准备登陆,再输入需要登陆的ip,即可。
二,免密登录
使用iTerrn2 Profiles快捷登录ssh
找一个目录创建一个sh文件,我在/Users/myname/Documents/下创建了文件channel.sh,内容如下:
#!/usr/bin/expect
set HOST xx.channel.com
set USER myname
set PASSWORD ********
spawn ssh $USER@$HOST
expect {
"yes/no" {send "yes\r";exp_continue;}
"*password:*" { send "$PASSWORD\r" }
}
interact
打开iterm2 -> preferences -> Profiles,点击下面“+”号,新建一个profile。
如下图红框所示:
选择Command 在输入框中输入:expect 刚才建的文件路径
这样就是配置完了。点击上方的Profiles就能看到刚刚创建的profile,点击就能免密码跳转了
三,配置szrz
1,使用brew安装lrzsz
brew install lrzsz
下载完成之后在目录"/usr/local/bin"下会有:
sz,rz,lsz,lrz等文件;
2,下载sz、rz必要的脚本
文件放在下方的网盘中了。文件名是:iterm2-send-zmodem.sh,iterm2-recv-zmodem.sh
将两个sh文件下载之后放在目录"/usr/local/bin"下,然后赋予其权限:
sudo chmod 777 /usr/local/bin/iterm2-send-zmodem.sh
sudo chmod 777 /usr/local/bin/iterm2-recv-zmodem.sh
3 ,配置iterm2
打开Item2,点击preferences → profiles,选择某个profile,如Default,之后继续选择advanced → triggers,添加编辑添加如下triggers
triggers1:
Regular expression: /*/*B0100
Action: Run Silent Coprocess
Parameters:/usr/local/bin/iterm2-send-zmodem.sh
triggers2:
Regular expression: /*/*B00000000000000
Action: Run Silent Coprocess
Parameters:/usr/local/bin/iterm2-recv-zmodem.sh
4,解决expect自动登录后,不能使用rz和sz命令
在使用了expect执行channel.sh脚本进行免密登录之后,szrz命令就不能使用了。解决方法脚本开头可以加入:export LC_CTYPE=en_US
因此我写了一个脚本在执行channel.sh之前执行一下上面的语句。再目录/Users/myname/Documents下创建文件expect.sh,内容如下:
#!/bin/sh
export LC_CTYPE=en_US
#expect脚本所在位置
expect $1
然后更改profile配置的命令将Command更改为:sh /Users/myname/Documents/expect.sh /Users/myname/Documents/channel.sh,如下所示:
这样下次启动New Profile就可以免密以及使用szrz了。
脚本网盘链接:
链接: 网盘地址 密码: 3k1a
参考链接:转载-Mac下iterm无法使用rz并提示waiting to receive.**B0100000023be50 - 码农教程
更多推荐
所有评论(0)