linux ssh 密码不起作用,但 sftp 有效

linux ssh 密码不起作用,但 sftp 有效

我使用密钥设置了 ssh,一段时间内运行良好。我刚刚进行了一些清理,现在发生了一些非常奇怪的事情,禁用了来自服务器的终端访问

正如我所说,SFTP 正在运行,要求我输入密码,输入密码,然后获得访问权限

当我通过终端使用 ssh 时,它会要求输入密码,我输入了相同的密码,但系统却说权限被拒绝?

我正在使用 centos 客户端连接到 ubuntu 服务器。

我也尝试过使用 Windows Putty 作为客户端,但它再次拒绝了我的密码。

它如何通过 sftp 在我的 centos 客户端上运行?密码是否被缓存了或者其他什么?

我对所有事情都使用相同的密码,所以我想知道为什么终端访问完全忽略了我的密码。

我可以访问所有文件,所以有什么办法吗?我可以在 ssh conf 中打开密码,然后重新启动服务器以重新启动 ssh(因为我无法从终端重新启动它)

nautlius 要求我提供密钥环,我输入了密码,它可以用于 sftp,为什么终端访问以同样的方式停止工作了?

任何帮助我都非常感谢。

干杯

答案1

您是否已检查用户是否确实有 shell(检查 passwd 文件)?如果 shell 设置为 /bin/false 或类似值,您将无法通过 ssh 登录。

答案2

查看这篇文章:

需要检查/尝试以下几件事:

  • 对于公钥登录,运行:

    chmod 600 ~/.ssh/*
    

    在客户端和服务器上。这是一个快捷方式,例如查看这篇文章:http://www.noah.org/wiki/SSH_public_keys(“SSH 的权限问题”部分)以获取正确权限的列表。

  • 对于密码登录,请检查以下行:

    PasswordAuthentication yes
    

    存在,但未在您的 中注释掉(#在它前面)/etc/ssh/sshd_config。我建议您稍后在设置公钥认证时将其关闭。

  • 检查您登录时使用的是正确的用户/服务器:

    ssh correctuser@correctserver
    

    可能会发生您所做的某些更改,而需要更改此行。

  • 检查日志/var/log/auth.log。查看第一个链接以获取更多信息,部分“记录更多信息”。您应该看到它记录了您的尝试,并为您提供了有关可能存在问题的更多信息

  • 也用于ssh -v在客户端上详细记录。c

  • 您可以sshd在调试模式下运行:

    sudo /etc/init.d/ssh stop
    sudo /usr/sbin/sshd -d
    

    并监控输出。

sudo /etc/init.d/ssh restart更改配置后记得重新启动服务器。

我建议您查看我提供的页面,了解如何根据您的需要正确配置服务器。例如,您可以从这里开始:

相关内容