V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
15hop
V2EX  ›  问与答

关于使用 expect,导致 szrz 失效的问题

  •  
  •   15hop · 2020-12-26 15:09:14 +08:00 · 715 次点击
    这是一个创建于 1222 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:

    访问远程服务器是通过跳板机的方式,每次登录都需要输一遍密码,很是繁琐。所以使用 expect 这个交互式脚本语言,来自动输入密码登录跳板机,再执行 ssh 命令登录远程服务器。但是这样带来了另一个问题,就是 szrz 命令不能使用了
    

    具体现象:

    在远程服务器执行 rz,可以跳出文件选择窗口,并上传文件,但是上传完成后,在当前目录下找不到文件
    

    尝试解决:

    经过搜索,有很多人都说通过使用 shell 脚本调用 expect 脚本并在 shell 脚本里指定`export LC_CTYPE=en_US`可以解决问题,但是我实测无效。现象和上面说的一样。
    

    目前的替代方法:

    使用 nc 的 socket 管道直接传输文件。但是这种方式稍微繁琐一些,需要客户端和服务器能直接通信,还要分别在客户端和服务端敲 nc 命令,不如 rz 来的方便
    

    各位 v 友有使用 expect 的同时不让 szrz 失效的解决方案吗

    2 条回复    2020-12-28 11:02:27 +08:00
    gstqc
        1
    gstqc  
       2020-12-26 16:06:58 +08:00 via Android
    1. OpenSSH 从 7.8 起加入了 proxyjump 的功能,如果跳板机也是通过 ssh 登录的话,使用 proxyjump 非常方便,可以把 proxyjump 写在 ssh 的配置文件里
    2. 强烈建议使用证书登录
    3. szrz 其实不好用,scp 更好
    julyclyde
        2
    julyclyde  
       2020-12-28 11:02:27 +08:00
    rz 有没有输出错误日志和错误返回码呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   935 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:03 · PVG 07:03 · LAX 16:03 · JFK 19:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.