一,登录跳板机

首先是已经拿到了通道机的权限。

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 - 码农教程

https://www.kissfree.cn/2530.html

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐