首先我要解释一下我要做什么。我已经在 vmware-esxi 上设置了一个运行 ubuntu 服务器的 Web 服务器。我想使用 SFTP 通过 SSH 上传我的网站代码。我们在我上的 php 课上做过这个。
我关注了指导。
因此我有一个名为 sftpuser 的用户和一个名为 sftp 的组,当我尝试连接时出现错误:
packet_write_wait: Connection to x.x.x.x port 22: Broken pipe
我的 ssh 配置在底部,其余部分保持不变
ClientAliveInterval 20
ClientAliveCountMax 5
TCPKeepAlive yes
Match group sftp
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
我是 Linux 新手,所以不确定原因是什么。谢谢。
编辑:
/var/log/auth.log 中的错误是
fatal: bad ownership of chroot directory component "/var/www"
答案1
好吧,问题似乎是我没有 /var/www 的权限,当我按照指南中所示更改权限时,我对 /var/www/html 进行了同样的操作。因此,当我运行此命令时
cd /var/www
chown root:sftp .
chmod 755 .
chown -R sftpuser:sftp *
它成功了。为了确保万无一失,我还在 /var/www/html 上再次运行了它。