在使用Notepad++ WinSCP SFTP遇到的连接失败问题分析

终于解决了一个困扰我几次的问题。在此经验分享一下,希望能帮到遇到同样问题的朋友。
问题的起因是想使用Notepad++连接SFTP服务器,无法成功建立连接,总是停在通过验证后。Notepad++中的NppFTP插件一直显示”NppFTP - connecting“,无法取消,也不能进行其他操作。


[NppFTP] Everything initialized
Connecting
[SFTP] Host key accepted
[SFTP] Successfully authenticated


换WinSCP连接,也发现无法建立SFTP连接,但好在出现一个错误对话框, 揭示了错误原因:Received too large (778199411 B) SFTP packet. Max supported packaet size is 1024000 B. 
The error is typically caused by message printed from startup script (like .profile). The message may start with ".bash".


也可在另外一台Linux上直接用sftp命令验证,会得到以下错误:
$ sftp yourlogin@yourhost
... 
Received message too long 778199411


解码“778199411”,得到二进制表示的4个字节 - “2E626173”,对照ASCII码表,正是".bas"这四个字符。检查SFTP服务器上home目录,发现在 .bashrc 中有一条打印命令:
echo ".bashrc is executed ..."
这条命令是前些时候,为了搞清".profile" 和".bashrc"的执行顺序加上去的调试语句,终于找到罪魁祸首了。把这行删去,问题迎刃而解了。


由此问题的解决还可看出:在SFTP的连接过程中,通过验证后,用户的shell所对应的启动脚本会执行。在此例中,用户的shell是"/bin/bash",启动脚本是“./bashrc”,没有“./bash_profile”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值