LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: wcf

请教:我装的OPENSSH不能传输文件,为什么啊?

[复制链接]
 楼主| 发表于 2008-1-22 22:35:45 | 显示全部楼层
是的,sshd是后台服务进程。在有请求时,应该再执行sftp-server进程。现在是sftp-server不能正常运行。也就是说sftp-server服务起不来!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-26 23:47:29 | 显示全部楼层
问题已经解决,知道是咋回事了!
回复 支持 反对

使用道具 举报

发表于 2008-1-27 05:23:17 | 显示全部楼层
。。简单总结一下?以后有人看到也知道个所以然。:)。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-27 19:05:32 | 显示全部楼层
罪魁祸首就是.bashrc文件。
在bash的联机手册里有一段,说的是关于通过RSHD登录系统时,系统要执行.bashrc文件。而这个文件是在启动一个交互SHELL时才要执行的。而在SSH登录时,系统就要执行.bashrc文件。而SSH登录系统是非交互的。如果执行.bashrc文件时,产生输入与输出就会出在我遇到的这个问题。
解决办法是:在.bashrc文件中,测试一下是交互SHELL还是非交互的,如果是非交互的,则直接退出即可。
一般在.bashrc文件的最前边加入下面这行就可以了:
[ -z "$PS1" ] && return
或者:
[ $- != *i* ]  && return

也可以通过更改.bashrc文件的属性的办法来实现。但我发现改属性对于root不起做用。而对非root用户才起做用。等弄清楚了再把方法帖上来吧!
回复 支持 反对

使用道具 举报

发表于 2008-1-28 02:22:31 | 显示全部楼层
原来如此,我还真没想到。。谢谢总结。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-28 09:54:56 | 显示全部楼层
不必客气,相互学习!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表