我在使用 Ubuntu Server 10.04 LTS x64 设置 SFTP 时遇到问题。
我使用带公钥身份验证的 openSSH,我可以使用密钥完美地登录 SSH,没有任何问题。我也可以连接到 FTP 服务器,但无法从文件夹中写入、下载或执行任何文件。
用户:
thomas
thomas_filetransfer (home directory is "/" and is part of group "filetransfer")
群组:
filetransfer
/etc/ssh/sshd_config
:
并非全部,仅列出 SFTP 配置的基本内容:
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
LogLevel VERBOSE
PermitRootLogin no
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile /etc/ssh/authorized_keys #might be the problem?
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication yes
X11Forwarding no
UsePAM no
UseDNS no
AllowUsers thomas thomas_filetransfer
Subsystem sftp internal-sftp
Match group filetransfer
ChrootDirectory /var/www
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
文件权限:
/var/www = owner = root, group = root, permissions = rwxr-x--- (750)
/etc/ssh = owner = root, group = root, permissions = rwxr-xr-x (755)
/etc/ssh/authorized_keys = owner = root, group = root, permissions = -rw-r--r-- (600)
再次,SSH 运行正常。我设置了私钥和公钥,它们可以正常工作,SFTP 登录也可以正常工作,但是当我尝试上传/下载文件时,它出错了。
当我从远程机器使用 ssh 机器进行身份验证时,我在 /var/log/auth.log 文件中发现了这一点,不知道是否与此有关:
Connection from 192.168.124.1 port 54993
Failed none for thomas_filetransfer from 192.168.124.1 port 54993 ssh2
Found matching RSA key: b4:a3:3d:18:b9:30:0c:60:e6:2b:31:47:a9:8d:1d:53
Found matching RSA key: b4:a3:3d:18:b9:30:0c:60:e6:2b:31:47:a9:8d:1d:53
Accepted publickey for thomas_filetransfer from 192.168.124.1 port 54993 ssh2
User child is on pid 849
第二行写着“无失败……”
答案1
我认为您的ChrootDirectory /var/www
所有者拥有的权限/var/www = owner = root, group = root, permissions = rwxr-x--- (750)
正在破坏您。尝试chown
将组添加/var/www
到您拥有成员资格的组,并将其设置为 770。看看是否有效。
如果有帮助的话请告诉我。
根据 OP 的聊天,他在这个中找到了答案博客网站