容器技术交流

 找回密码
 立即注册
查看: 9427|回复: 9

(最新情况)救救我吧,ssh正常,putty可以连接,但是sftp不行。

[复制链接]
发表于 2009-12-25 18:25:50 | 显示全部楼层 |阅读模式
本帖最后由 ASK 于 2009-12-25 20:54 编辑

我为这个问题琢磨了好几天都无法解决。
也就是ssh正常,putty可以连接,但是sftp不行。


以下是FLASHFXP的错误提示

[R] 正在连接到 192.168.1.88 -> IP=192.168.1.88 PORT=22 (次尝试 # 3)
[R] 已连接到 192.168.1.88
[R] Host key algorithm ssh-DSS, size 1024 bits.
[R] MD5 Fingerprint is d2:ef:ca:7b:7d:70:d7:8b:6e:15:bb:f5:eb:05:db:8e
[R] Key exchange: diffie-hellman-group14-sha1. Session encryption: aes256-ctr, MAC: hmac-sha1, compression: none.
[R] Auth Type: Keyboard-interactive
[R] Keyboard Authentication Requested. Prompt (0) "assword:"
[R] Keyboard Authentication, Password Sent.
[R] Authentication failed. Keyboard-interactive

用了很多个可以使用SFTP的软件,包括cutftp ,winscp都不行。
端口默认,无防火墙。
每次登陆sftp 后台都出现
www sshd[998]: error AM : authentication error forillegal user 1 frome 192.168.1.11
是默认的freebsd7.2 famp5.1.0
 楼主| 发表于 2009-12-25 18:26:48 | 显示全部楼层
在网上都搜遍了,实在没辙了。论坛有关闭,一路追踪老大到 chinaunix,却发现论坛又好了
 楼主| 发表于 2009-12-25 18:28:16 | 显示全部楼层
实际生产环境还有我个人电脑上的虚拟机 都不行。
发表于 2009-12-25 18:53:05 | 显示全部楼层
实际生产环境还有我个人电脑上的虚拟机 都不行。
ASK 发表于 2009-12-25 18:28
根据你这条基本可以判断,是SFTP软件设置错了。
 楼主| 发表于 2009-12-25 19:27:17 | 显示全部楼层
本帖最后由 ASK 于 2009-12-25 19:57 编辑

太感谢洞洞了,请问老大的flashfxp 软件中的 sftp连接是如何设置的?


下面是winscp的错误提示
1.jpg
 楼主| 发表于 2009-12-25 20:53:39 | 显示全部楼层
本帖最后由 ASK 于 2009-12-25 21:00 编辑

经过测试,我建立的了一个wheel组用户,可以登录flashfxp的sftp,

但是不能进入FTP文件夹

[R] Unable to change directory: /home/ftp/ [Permission denied]
[R] Unable to change directory: /home/ftp/ [Permission denied]
[R] Unable to change directory: /home/ftp/ [Permission denied]
[R] Unable to change directory: /home/ftp/ [Permission denied]
[R] Unable to change directory: /home/ftp/ [Permission denied]
[R] Unable to change directory: /home/ftp/ [Permission denied]


我想用ftp的用户名和密码  使用sftp,

洞洞这个应该能实现吗?

还是我的情况是一个特殊个案?
 楼主| 发表于 2009-12-25 20:59:32 | 显示全部楼层
难道我只能用root账户 登录PSFTP使用命令来 使用sftp上传文件吗?

请大家帮帮我。谢谢了。
发表于 2009-12-25 22:09:11 | 显示全部楼层
可以用ftp,或者开通root直接登陆ssh的权限。
wheel组用户和ftp用户不一样的,所以wheel组户可能无法操作ftp用户的文件
 楼主| 发表于 2009-12-25 22:35:45 | 显示全部楼层
本帖最后由 ASK 于 2009-12-25 22:53 编辑

再次感谢洞洞,晚来的祝福,圣诞快乐!

我发现用ftp的用户名和密码   无论是输入正确的还是输入错误的都显示不能连接SFTP

开通root直接登陆ssh,怕不安全。还是希望和大家一样用ftp用户登录。

经过测试
ftp用户的组名是:  ftpusers???

1003 ftp
1002 gid  ftpusers
1002 groups  ftpusers

很想调试一下,可能在编译famp的时候某个环节出错了,可是是个超级小白。请问洞洞该如何调试呢?



网上有篇文章,不过看的不是很明白。

使普通用户仅使用SFTP而没有使用Shell的权限
默认情况下管理员给系统添加的账号将同时具有SFTP和SSH的权限。让普通用户使用shell执行命令也是有很大的安全隐患的,如果能够禁止用户使用shell执行命令而仅使用SFTP传输文件,就能消除这种安全隐患,完全实现FTP的功能,
正如上文所述,SFTP没有单独的守护进程,只能借助于sshd守护进程,所以我们仍然需要使用SSH服务器,要保证sshd守护进程处于运行状态。具体实现方法如下:
首先,在编译安装时,编译中一定要有“--enable-static” 选项。安装成功后,在安装目录下的bin目录中执行下面的命令:
[root@localhost bin]# ls -l ssh-dummy-shell* sftp-server2*
将看到下列输出内容:
-rwxr-xr-x 1 root root 1350417 Apr 28 16:30 sftp-server2
-rwxr-xr-x 1 root root 3566890 Apr 28 16:30 sftp-server2.static
-rwxr-xr-x 1 root root 72388 Apr 28 16:30 ssh-dummy-shell
-rwxr-xr-x 1 root root 1813412 Apr 28 16:30 ssh-dummy-shell.static
其中带“static”后缀名,且比较大的两个文件就是加上“--enable-static”选项后生成的,后面我们将用到这里两个文件。
下面以添加普通账号test为例讲述具体操作步骤。
1.在“/home”目录(或者将要存放普通用户宿主目录的目录)下创建“bin”子目录,并将两个static文件复制到此目录下(复制后改名去掉static后缀),执行如下命令:
[root@localhost bin]# cd /usr/local/ssh3.2/bin
[root@localhost bin]#cp ssh-dummy-shell.static /home/bin/ssh-dummy-shell
[root@localhost bin]# cp sftp-server2.static /home/bin/sftp-server
[root@localhost bin]#chown -R root.root /home/bin
[root@localhost bin]#chmod -R 755 /home/bin
2.添加一个组,使以后所有禁止使用shell的用户都属于这个组,这样便于管理更多的用户:
[root@localhost bin]#groupadd template
3.在添加系统账号时使用如下命令:
[root@localhost root]#useradd -s /bin/ssh-dummy-shell -g template test
[root@localhost root]#passwd test
[root@localhost root]#mkdir /home/test/bin
[root@localhost root]#cd /home/test/bin
[root@localhost bin]#ln /home/bin/ssh-dummy-shell ssh-dummy-shell
[root@localhost bin]#ln /home/bin/sftp-server sftp-server
[root@localhost bin]#chown -R root.root /home/test/bin
[root@localhost bin]#chmod -R 755 /home/test/bin
3.用户添加成功后,还需要修改/etc/ssh2/sshd2_config文件,将下列内容:
#ChRootGroups sftp,guest
改为:
ChRootGroups sftp,guest,template
修改上面这行内容,主要是为了禁止普通用户查看系统的其它目录,把其权限限制在自己的主目录下。重新启动SSH服务器程序,在客户端使用SSH Secure File Transfer Client登录,即使选择显示根目录,普通用户也看不到其它的任何目录,而是把自己的主目录当作根目录。注意,这里使用的是按用户所属组限制,这样可以使包含在template组内的所有用户都可以实现此功能。若您只要限制个别用户的话,可以修改下面的内容:
#ChRootUsers anonymous,ftp,guest


再次感谢洞洞!
发表于 2009-12-26 14:40:25 | 显示全部楼层
将user加到ftp组
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Archiver|URLOS ( 粤ICP备18087780号 )

GMT+8, 2025-5-11 08:25 , Processed in 0.037271 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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