ついにオフィスを 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
持つ設定がありますdefault
6
そのため、接続ごとに認証試行が多すぎるのを防ぐために、ssh-keys/identitiesを下げる必要があります。
- 他のすべてのホストエントリ、identityFilesをコメントアウトします
~/.ssh/config
- 未使用のキーを
~/.ssh/*
新しいサブディレクトリに移動してみてください(例: ~/.ssh/sftp-keys) ssh-add -D
エージェントからすべての ID を削除するために使用します。- 接続に使用するIDを追加します
ssh-add ~/ssh/sftp-keys/serverid_rsa
再接続を試みてください。
それでも成功しない場合は、新しいトレース ログを再度貼り付けてください。