FileZilla でルート認証の失敗が多すぎる

FileZilla でルート認証の失敗が多すぎる

ついにオフィスを 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 を簡単に更新できます。.hosts ファイルのエイリアスの代わりに IP を使用した場合でも、問題は同じであることに注意してください。

私の問題は、サーバーに 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

問題は解決するはずです (これが解決策かどうかは 100% 確信はありません。先週はさまざまなことを試していました) が、マシンを再起動した後、再び問題が発生し始めたようです。当然、コマンドを再度実行しようとしましたが、だめでした。

私はこのようなことには不慣れですが、ログを見ると、SSHに認証に使用するように指示しているにもかかわらず、すべてのキーを使用して認証しようとしているようです。IdentitiesOnly

以前にこの提案を見たので削除しました~/.puttyが、それでも同じエラーが発生します (指紋を受け入れた後)。

どのような助言、アイデア、提案でも歓迎します。Web を検索しましたが何も見つかりませんでした。重複している場合はお知らせください。

ありがとう

答え1

注意: FileZilla は .ssh ディレクトリ内のキーを使用して接続しようとします。

私も同じ問題を抱えていました。FileZilla ログを分析したところ (デバッグ ログは、[編集] > [環境設定] > [デバッグ] でデバッグ レベルを 3 に設定することで有効にできます)、filezilla Trying Pageant key #サーバーへの認証試行が失敗するたびに行が出力されていることに気付きました。

5 回失敗すると、「認証失敗が多すぎます」というエラーが表示され、接続が切断されます。

解決策: キーを別の場所に移動します。

FileZilla は Pageant メカニズムを使用して、.ssh ディレクトリにすでに保存されているキーで認証しようとします。ローカル VM に接続するために、いくつかのキーを .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 が実行中です。キーを要求しています。

Pageantには10個のSSH-2キーがある

sshd_config(サーバー上)には、値をMaxAuthTries持つ設定がありますdefault6

そのため、接続ごとに認証試行が多すぎるのを防ぐために、ssh-keys/identitiesを下げる必要があります。

  1. 他のすべてのホストエントリ、identityFilesをコメントアウトします~/.ssh/config
  2. 未使用のキーを~/.ssh/*新しいサブディレクトリに移動してみてください(例: ~/.ssh/sftp-keys)
  3. ssh-add -Dエージェントからすべての ID を削除するために使用します。
  4. 接続に使用するIDを追加しますssh-add ~/ssh/sftp-keys/serverid_rsa

再接続を試みてください。

それでも成功しない場合は、新しいトレース ログを再度貼り付けてください。

関連情報