SFTP错误“收到的消息太长”

时间:2011-11-23 23:15:48

标签: linux sftp

我最近尝试使用sftp来访问我的linux盒子,在那里我实现了一个我自己的简单shell。我设置除root之外的用户默认使用mine shell(通过编辑/ etc / passwd文件)。然后出现问题,一旦我尝试通过sftp访问,我将收到一条消息“收到的消息太长了:”,我搜索了解决方案,一个解决方案是将此用户的默认shell更改回正常的bash shell。我试过这样,它有效,问题是有没有办法,我仍然可以使用自己的shell,并允许sftp通过?请回答我更详细的信息,例如我应该编辑哪个文件等。提前致谢:)

2 个答案:

答案 0 :(得分:15)

配置服务器以使用内部sftp服务器将以下指令添加到/etc/ssh/sshd_config

Subsystem sftp internal-sftp

这样,它就不会使用用户shell来启动sftp服务器程序。

答案 1 :(得分:0)

它可以通过使用 internal-sftp 子系统来修复。 编辑/etc/ssh/sshd_config并替换

<块引用>

子系统sftp /usr/lib/openssh/sftp-server

<块引用>

子系统 sftp internal-sftp

然后您需要使用以下命令重新启动 sshd 服务:

/bin/systemctl restart sshd.service