Permission denied (publickey,gssapi-keyex,gssapi-with-mic).的完整解决方法

不小心在搞vsftpd时候执行了"chmod -R 777 /"的命令,直接修改了所有文件的权限。瞬间爆炸,其实Linux 中的每一个文件或目录都包含有访问权限,许多功能配置文件需要特定的权限才能工作。

比如SSH,/.ssh目录下的每一个文件都需要特定的权限和拥有者才可以使用,否则使用SSH连接服务器时就会出现"Permission denied (publickey,gssapi-keyex,gssapi-with-mic)."的错误,
SSH测试本地连接失败

关于Permission denied (publickey,gssapi-keyex,gssapi-with-mic).这个错误的解决方法,网上有很多,但是都有点误导人。总结了一下排查方法就是下面三点:

  1. 首先在服务器本地测试ssh 127.0.0.1,如果可以那就是防火墙的问题。网上很多解决方法,这里不在写,很好解决。

  2. 若本地连接有问题,首先打开配置文件sshd_config寻找问题(vim /etc/ssh/sshd_config)。这里简单总结几个必须要修改的配置:

RSAAuthentication yes   
PubkeyAuthentication yes   #这两项为打开公钥模式
AuthorizedKeysFile     .ssh/authorized_keys   #配置公钥记录文件
PasswordAuthentication yes  #打开密码验证模式
  1. 如果上述修改之后测试还不行,那就说明是文件权限的问题(本人就是由于误改了系统文件的权限)。如果是这样。解决方法就是找到一个完全相同配置的Linux系统,复制其系统目录下的systemp.bak文件,这个文件记录了所有的文件权限。
scp root@目标机器IP:system.bak文件路径  本地存放system.bak路径

然后执行命令:

setfacl --restore=systemp.bak

最后重启系统方能恢复正常。当然如果不想那么麻烦,直接重装系统。

最后给自己说一句,切记,Linux下的文件不能随便修改权限。

  • 21
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: localhost:permission denied() 表示本地主机访问权限被拒绝。这通常是因为您没有足够的权限来访问该资源或文件。您可以尝试以管理员身份运行程序或更改文件或资源的权限以解决此问题。 ### 回答2: 当我们尝试访问 localhost 的时候,有时候会出现“Permission denied”(权限被拒绝)的提示。这是因为当我们运行某些服务(如 Apache、MySQL 等)时,这些服务需要有足够的权限来执行一些操作,例如创建、读取、写入文件,访问特定的目录等。如果这些服务没有足够的权限,那么它们将无法正常运行,并且你会看到“Permission denied”提示。 问题的解决方法有很多种,以下是其中几种可能的解决方法: 1. 以管理员身份运行服务 我们可以通过以管理员身份运行服务来解决权限被拒绝的问题。在 Windows 操作系统中,可以右键点击服务的可执行文件,选择“以管理员身份运行”来启动服务。在 Linux 中,可以使用 sudo 命令来以管理员身份运行服务。 2. 检查服务的权限设置 我们可以检查服务的权限设置来解决Permission denied”问题。通常,我们需要确保服务有足够的权限来读取、写入目录和文件。这些设置可以在服务的配置文件中进行设置。 3. 检查文件和目录的权限设置 如果服务有足够的权限,但仍然看到“Permission denied”错误提示,那么我们需要检查文件和目录的权限设置。这些设置可以使用 chmod 命令来更改。 总结: “localhost:permission denied()”的提示意味着访问本地的某一服务时,权限被拒绝。为了解决这个问题,我们需要检查服务的权限设置、服务运行时是否以管理员身份运行、文件和目录的权限设置等问题。通过检查这些问题并进行相应的修改,我们可以排除这个问题。 ### 回答3: "localhost:permission denied()"意味着您正在尝试从本地主机访问文件或目录时遭遇了权限拒绝错误。这种错误通常出现在以下两种情况中: 1. 访问被拒绝 这种情况下,您没有该文件或目录的访问权限。这可能是因为您不是文件或目录的所有者,或者因为您没有足够的权限来访问该文件或目录。如果是这种情况,您可以尝试使用sudo权限以管理员身份运行命令。 2. 文件或目录不存在 这种情况下,您想要访问的文件或目录不存在。如果您确定该文件或目录存在,并且您有足够的权限来访问它,那么可能是因为您正在尝试访问错误的路径或名称。请确保您输入的路径和文件名都正确。 解决"localhost:permission denied()"问题的方法包括: 1. 使用sudo权限:使用sudo命令以管理员身份运行命令,以获得足够的权限来访问该文件或目录。 2. 更改文件或目录权限:如果您是文件或目录的所有者,您可以更改其权限以授予其他用户访问权限。您可以使用chmod命令更改文件或目录的权限。 3. 确认文件或目录路径和名称:请确保您输入的路径和文件名都是正确的,以避免访问错误文件或目录,或者输入错误的路径。 总之,"localhost:permission denied()"错误通常意味着您没有足够的权限访问某些文件或目录。通过使用sudo权限以管理员身份运行命令、更改文件或目录权限或确认路径和文件名,您可以解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值