SSH Secure File Transfer 文件传输故障

本文介绍了通过SSH进行文件传输时出现的错误信息,并提供了解决方案。问题源于服务器端用户的.bashrc文件配置不当,导致非交互式登录时执行了不应执行的命令。解决方法是在.bashrc文件开头加入特定条件判断语句,确保只有在交互式shell环境下才执行后续命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

登录服务器想通过ssh下载个文件。使用SSH Secure File Transfer Client连接服务器,提示如下信息:

"File transfer server could not be started or it exited unexpectedly.
Exit value 0 was returned. Most likely the sftp-server is not in the path of the user on the server-side."

网上查了下,原来是用户主目录下的.bashrc文件的问题。
解决方法:
在bash的联机手册里有一段,说的是关于通过RSHD登录系统时,系统要执行.bashrc文件。而这个文件是在启动一个交互SHELL时才要执行的。而在SSH登录时,系统就要执行.bashrc文件。而SSH登录系统是非交互的。如果执行.bashrc文件时,产生输入与输出就会出在我遇到的这个问题。
解决办法是:在.bashrc文件中,测试一下是交互SHELL还是非交互的,如果是非交互的,则直接退出即可。
一般在.bashrc文件的最前边加入下面这行就可以了:
[ -z "$PS1" ] && return  经测试,我的服务器添加该命令可以传输文件。服务器系统:Centos 5
或者:
[ $- != *i* ] && return
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值