Mac iterm2 使用expect后无法使用lrzsz 指令,上传不报错,文件也没有

发布时间:2018-10-29作者:laosun阅读(8432)

Mac

使用iterm2 的 rz 上传文件,没有抛出任何异常,最后上传文件也找不到。经过研究发现,问题出在使用了expect登录方式。直接使用ssh 登录,那么lrzsz工具就没有问题。

    相信大部分人使用iterm2的,都会使用Lrzsz工具来上传和下载吧,网上有具体操作文档,如何配置iterm2的lrzsz。或者请到博主的另一篇文章查看。

    Mac iterm2 使用 lrzsz (rz、sz)的方式

    第一种登录方式:

    image.png


    第二种登录方式 (这种使用方式需要手动输入密码,如果想免密登录,请看第三种):


    image.png


    第三种登录方式,生成秘钥:

    点击Command: 填入下边的指令:ssh -i /Users/sun/.ssh/xxxx.pid xxxxx@IP地址 -p 端口


    如果你的rz 、sz工具不好使,那么你可能使用的是第一种登录方式: item2login.sh 脚本,我们来打开看一下这个脚本内容(vim /usr/local/bin/item2login.sh):

    #!/usr/bin/expect
    
    set timeout 30 type command to continue
    spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2]
    expect {
            "(yes/no)?"
            {send "yes\n";exp_continue}
            "password:"
            {send "[lindex $argv 3]\n"}
    }
    interact

    既然使用了expect ,那么lrzsz就不好使,具体原因,博主也不知。所以我们需要更换成第二种或者第三种方式就没问题。但是又不想生成秘钥,行吧,我们使用sshpass命令。

    具体安装方法如下:

    sudo brew install http://git.io/sshpass.rb

    安装完成以后即可使用如下指令进行登录:

    /usr/local/bin/sshpass -p passwrod ssh userName@ip

    image.png

    安装sshpass命令的时候可能会提示你安装xcode、gcc等一大票的东西,根据提示安装即可。

8 +1

版权声明

 Mac  工具  iterm2

 请文明留言

0 条评论