共计 1454 个字符,预计需要花费 4 分钟才能阅读完成。
操作系统:SUSE 10 sp2 64bit
linuxidc 用户的 SHELL 为:csh
1、同事反映,使用 sftp 登入服务器时,报 Received message too long 1114795883 错误:
linuxidc.example.com:~ # sftp linuxidc@192.168.1.90
Connecting to 192.168.1.90…
Password:
Received message too long 1114795883
2、只有 linuxidc 用户存在这个问题,怀疑是 linuxidc 用户的环境设置问题,su – linuxidc 没有任何的输出,
如果.cshrc,.bashrc,.profile 文件中有一些 cat,echo 的输出,可能会导致这个问题,这是度娘的回复,
测试了下,确实是会出现这个问题,如下所示:
linuxidc.example.com:~ # su – csh
haha
linuxidc.example.com> echo $SHELL
/usr/bin/csh
linuxidc.example.com> cat .cshrc
echo “haha”
linuxidc.example.com> exit
logout
linuxidc.example.com:~ # sftp csh@192.168.1.90
Connecting to 192.168.1.90…
Password:
Received message too long 1751214177
3、问题基本可以确定在 linuxidc 的环境设置上是有问题的,因为 sftp 是 ssh 的子服务,scp 也是,ssh 是可
以正常登入的,且不报错的,su 也是可以正常切换的,那么 scp 呢
linuxidc.example.com:~ # scp 1.txt linuxidc@192.168.1.90:/home/linuxidc
Password:
stty: standard input: Invalid argument
1. txt 100%
4、问题基本可以确定了,设置的 stty 环境变量有问题
linuxidc.example.com:~ # su – linuxidc
linuxidc.example.com>echo $SHELL
/usr/bin/csh
linuxidc.example.com>cat .cshrc | grep stty
stty erase “^H” kill “^U” intr “^C” eof “^D” susp “^Z” hupcl ixon ixoff tabs
5、注释 stty 环境变量
linuxidc.example.com>cat .cshrc | grep stty
#stty erase “^H” kill “^U” intr “^C” eof “^D” susp “^Z” hupcl ixon ixoff tabs
6、执行 scp 和 sftp,不再报错,问题解决
linuxidc.example.com:~ # scp 1.txt linuxidc@192.168.1.90:/home/linuxidc
Password:
1.txt 100% 0 0.0KB/s 00:00
linuxidc.example.com:~ # sftp linuxidc@192.168.1.90
Connecting to 192.168.1.90…
Password:
sftp>
更多 SUSE 相关信息见SUSE 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=3