OpenSSH不适用于我设置的Ubuntu Server

时间:2011-06-02 21:04:45

标签: ubuntu ssh

我只是使用this教程设置了一个ubuntu服务器。我可以很好地连接SSH,但当我尝试将东西移到服务器上时,我收到了这个错误:

Permission denied (SSH_FX_PERMISSION_DENIED: The user does not have sufficient permissions to perform the operation.).

我知道我做过像

这样的事情
sudo usermod -g www-data [MY USERNAME]
sudo chown -R www-data:www-data /var/www
sudo chmod -R 775 /var/www

所以我不知道它为什么不起作用。有人可以提供建议吗?

4 个答案:

答案 0 :(得分:2)

复制文件:

scp myfiles.zip myusername@mywebserver.com:

现在正常登录并将文件复制到/ var / www

ssh -l myusername mywebserver.com
unzip myfiles.zip
sudo cp myfiles/* /var/www

您需要sudo才能将文件放在www-data所拥有的目录中。如果你想避免使用sudo,那么你需要将www-data设置为具有密码的真实登录用户,并将其主目录设置为/ var / www。然后,您可以使用scp移动单个文件,而不必使用ssh登录。

答案 1 :(得分:2)

sudo chown -R www-data:www-data
sudo chmod -R 775 /var/www

将www-data更改为您登录的任何用户。就我而言,它是ubuntu。

答案 2 :(得分:0)

这只是一个简单的文件权限错误。与cyberduck连接的用户无权执行文件操作。

最好尝试在命令行上对SCP进行类似的操作来仔细检查cyberduck是不是在玩耍。在这里,您会看到一个快速的“许可被拒绝”错误。

如果是拥有该文件的用户,请确保您以www-data身份进行连接...尽管以此用户身份连接可能有点不寻常。备择方案?以'root'身份连接。尝试将文件写入某个不同的目标目录,例如您的用户主目录或/ tmp这可能是一个适当的解决方法,如果您可以在传输后移动文件,但无论如何都要进行此测试作为完整性检查。

我个人用一个特定的文件遇到了这个错误,因为我不小心导致root成为文件本身的所有者(不是它所在的目录),但你的-R命令应该处理它。

另一个问题我记得有一段时间回来了:你有“SELinux”启用吗?

答案 3 :(得分:0)

  • sudo groupadd vivek
  • sudo useradd -g vivek -G www-data vivek
  • sudo passwd vivek
  • sudo chown -R www-data:www-data / var / www
  • sudo chmod -R 775 / var / www

在您的usermod 中,资本G很重要 -G 因为我做了你做的,它修复了我的ftp错误 我认为你以某种方式设置了群体关系错误