背景:
访问远程服务器是通过跳板机的方式,每次登录都需要输一遍密码,很是繁琐。所以使用 expect 这个交互式脚本语言,来自动输入密码登录跳板机,再执行 ssh 命令登录远程服务器。但是这样带来了另一个问题,就是 szrz 命令不能使用了
具体现象:
在远程服务器执行 rz,可以跳出文件选择窗口,并上传文件,但是上传完成后,在当前目录下找不到文件
尝试解决:
经过搜索,有很多人都说通过使用 shell 脚本调用 expect 脚本并在 shell 脚本里指定`export LC_CTYPE=en_US`可以解决问题,但是我实测无效。现象和上面说的一样。
目前的替代方法:
使用 nc 的 socket 管道直接传输文件。但是这种方式稍微繁琐一些,需要客户端和服务器能直接通信,还要分别在客户端和服务端敲 nc 命令,不如 rz 来的方便
各位 v 友有使用 expect 的同时不让 szrz 失效的解决方案吗
1
0ZXYDDu796nVCFxq 2020-12-26 16:06:58 +08:00 via Android
1. OpenSSH 从 7.8 起加入了 proxyjump 的功能,如果跳板机也是通过 ssh 登录的话,使用 proxyjump 非常方便,可以把 proxyjump 写在 ssh 的配置文件里
2. 强烈建议使用证书登录 3. szrz 其实不好用,scp 更好 |
2
julyclyde 2020-12-28 11:02:27 +08:00
rz 有没有输出错误日志和错误返回码呢?
|