filezilla 中 root 身份验证失败次数过多

filezilla 中 root 身份验证失败次数过多

所以我终于在办公室里换成了 Ubuntu!总的来说,我对从 Mac 和 Windows 换过来感到非常高兴。大多数问题我都能够修复(显卡问题),但这个问题我似乎已经修复了,但它总是反复出现。

我正在使用 Filezilla,并且我有一个自定义 SSH 配置。我还注意到 PHPStorm 上也发生了这种情况。我假设 FileZilla 的修复程序也会修复 PHPStorm。

我的 SSH 配置是:

# Catch all
Host *
 ServerAliveInterval 120
 ServerAliveCountMax 30
 IdentitiesOnly yes

# Local Dev VM
Host jpCentos devel jp
 HostName jpCentos
 User adminJeremy
 IdentityFile /home/jpsimkins/.ssh/jpCentos
 IdentitiesOnly yes

# Local Dev VM Root (added as work-a-round for filezilla)
Host jpCentosRoot jpRoot
 HostName jpCentos
 User root
 IdentityFile /home/jpsimkins/.ssh/jpCentosRoot
 IdentitiesOnly yes

# Kyle Dev VM
Host kkCentos kk
 HostName kkCentos
 User adminJeremy
 IdentityFile /home/jpsimkins/.ssh/jpCentos
 IdentitiesOnly yes

# Staging Server
Host stagingServer staging stage
 HostName 10.1.1.120
 User adminJeremy
 IdentityFile /home/jpsimkins/.ssh/StagingServer
 IdentitiesOnly yes

# OlympusatV2 PRODuction Server 
Host olympusatV2 v2 live prod
 HostName 166.78.xxx.xxx
 User adminJeremy
 IdentityFile /home/jpsimkins/.ssh/OlympusatV2
 IdentitiesOnly yes

# OlympusatV2 PRODuction Server Root User (added as work-a-round for filezilla)
Host olympusatV2Root v2Root v2root liveroot prodRoot prodroot
 HostName 166.78.xxx.xxx
 User root
 IdentityFile /home/jpsimkins/.ssh/OlympusatV2Root
 IdentitiesOnly yes

# ParablesServer
Host parablesServer ps
 HostName 162.242.xxx.xxx
 User adminJeremy
 IdentityFile /home/jpsimkins/.ssh/ParablesServer
 IdentitiesOnly yes

# ParablesServerRoot  (added as work-a-round for filezilla)
Host parablesServerRoot psRoot psroot ParablesServerRoot
 HostName 162.242.xxx.xxx
 User root
 IdentityFile /home/jpsimkins/.ssh/ParablesServerRoot
 IdentitiesOnly yes

HostName 名称已映射到我的 .hosts 文件中。这样,当我在办公室之间移动时,更新 IP 会更加容易。需要注意的是,即使我使用 IP 代替 .hosts 文件别名,问题也是一样的。

我的问题是,每次我尝试通过 SFTP 连接到服务器时都会收到:

Command:    open "[email protected]" 22
Error:  Server sent disconnect message
Error:  type 2 (protocol error):
Error:  "Too many authentication failures for root"
Error:  Could not connect to server

Filezilla 详细版本:

Status: Connecting to 10.1.1.69...
Trace:  Going to execute /usr/bin/fzsftp
Response:   fzSftp started
Trace:  CSftpControlSocket::ConnectParseResponse(fzSftp started)
Trace:  CSftpControlSocket::SendNextCommand()
Trace:  CSftpControlSocket::ConnectSend()
Command:    open "[email protected]" 22
Trace:  Server version: SSH-2.0-OpenSSH_5.3
Trace:  Using SSH protocol version 2
Trace:  We claim version: SSH-2.0-PuTTY_Local:_Sep_14_2013_01:12:43
Trace:  Doing Diffie-Hellman group exchange
Trace:  Doing Diffie-Hellman key exchange with hash SHA-256
Trace:  Host key fingerprint is:
Trace:  ssh-rsa 2048 ae:7c:66:41:8d:5a:18:53:ea:ca:ac:0a:ce:27:cc:4d
Trace:  Initialised AES-256 SDCTR client->server encryption
Trace:  Initialised HMAC-SHA1 client->server MAC algorithm
Trace:  Initialised AES-256 SDCTR server->client encryption
Trace:  Initialised HMAC-SHA1 server->client MAC algorithm
Trace:  Pageant is running. Requesting keys.
Trace:  Pageant has 10 SSH-2 keys
Trace:  Trying Pageant key #0
Trace:  Server refused public key
Trace:  Trying Pageant key #1
Trace:  Server refused public key
Trace:  Trying Pageant key #2
Trace:  CSftpControlSocket::ResetOperation(66)
Trace:  CControlSocket::ResetOperation(66)
Error:  Could not connect to server
Status: Waiting to retry...
Status: Connecting to 10.1.1.69...
Trace:  Going to execute /usr/bin/fzsftp
Response:   fzSftp started
Trace:  CSftpControlSocket::ConnectParseResponse(fzSftp started)
Trace:  CSftpControlSocket::SendNextCommand()
Trace:  CSftpControlSocket::ConnectSend()
Command:    open "[email protected]" 22
Trace:  Server version: SSH-2.0-OpenSSH_5.3
Trace:  Using SSH protocol version 2
Trace:  We claim version: SSH-2.0-PuTTY_Local:_Sep_14_2013_01:12:43
Trace:  Doing Diffie-Hellman group exchange
Trace:  Doing Diffie-Hellman key exchange with hash SHA-256
Trace:  CSftpControlSocket::ResetOperation(66)
Trace:  CControlSocket::ResetOperation(66)
Error:  Could not connect to server

当我通过终端 SSH 时,没有任何问题。

我在某处读到过这样的运行:

ssh-add -k ~/.ssh/KEYNAME

可以解决问题(我不确定这是否能解决问题,上周我尝试了很多不同的方法),但似乎在我重启机器后,这个问题又开始出现了。所以我自然而然地尝试再次运行该命令,但没有成功。

我对这些东西还不熟悉,但从日志来看,它似乎试图使用所有密钥进行身份验证,尽管我告诉 SSH 使用IdentitiesOnly

我删除了它~/.putty,因为我之前看到过这个建议,但仍然出现同样的错误(接受指纹后)。

任何帮助、想法或建议都非常感谢。我在网上搜索过,但找不到任何东西,所以如果这是重复的,请告诉我。

谢谢

答案1

注意:FileZilla 尝试使用 .ssh 目录中的密钥进行连接。

我也遇到过同样的问题。在对 FileZilla 日志进行一些分析后(可以通过在“编辑”>“首选项”>“调试”中设置调试级别 = 3 来启用调试日志),我注意到每次filezilla Trying Pageant key #尝试向服务器验证失败时都会打印一行。

5 次尝试失败后,它会断开连接并打印“身份验证失败次数过多”错误。

解决方案:将钥匙移到其他地方。

FileZilla 使用 Pageant 机制并尝试使用已存储在 .ssh 目录中的密钥进行身份验证。我在 .ssh 目录中存储了一些密钥,用于连接到我的本地虚拟机。我只是将所有密钥移动到 .ssh 中的子目录中。我尝试再次连接,然后 FileZilla 正常工作。

答案2

我有同样的问题,找到了更好的 解决方案,而不是移开钥匙。


使用env变量运行filezilla SSH_AUTH_SOCK=null

SSH_AUTH_SOCK=null filezilla &

对于永久解决方案,请将.desktop文件Exec=行更改为env SSH_AUTH_SOCK=null filezilla

# copy filezilla.desktop to your home
sudo cp -t ~/.local/share/applications /usr/share/applications/filezilla.desktop
# change ownership
sudo chown $USER: ~/.local/share/applications/filezilla.desktop
# add env variable
sed -i  's/^\(Exec=\)\(filezilla\)/\1env SSH_AUTH_SOCK=null \2/' ~/.local/share/applications/filezilla.desktop

答案3

您可以通过以下方式在 Mac 上修复此问题:

setting the root password with "sudo passwd root" then
editing and saving the ssh config file with "nano /etc/ssh_config" and
changing the RSAAuthentication to "no" rather than yes.

如果您还有其他问题,请访问此链接: https://serverfault.com/questions/36291/how-to-recover-from-too-many-authentication-failures-for-user-root

答案4

跟踪日志中有一行:

选美比赛正在进行中。请求密钥。

Pageant 有 10 个 SSH-2 密钥

sshd_config(在服务器上)有一个设置MaxAuthTries,其default值为6

因此,为了防止每个连接进行过多的身份验证尝试,我们需要降低 ssh-keys/identities

  1. 注释掉所有其他主机条目,identityFiles 在~/.ssh/config
  2. 尝试将未使用的密钥移动~/.ssh/*到新的子目录(例如: ~/.ssh/sftp-keys )
  3. 用于ssh-add -D删除代理的所有身份。
  4. 添加要用于连接的身份ssh-add ~/ssh/sftp-keys/serverid_rsa

尝试重新连接。

如果仍然不成功,请重新粘贴新的跟踪日志。

相关内容