Итак, я наконец-то перешел в своем офисе на 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
Решил бы проблему (я не уверен на 100%, было ли это исправлением, я пробовал много разных вещей на прошлой неделе), но, кажется, после того, как я перезагрузил свой компьютер, это началось снова. Поэтому, естественно, я попытался снова запустить команду, но ничего не вышло.
Я новичок в этом деле, но, судя по журналу, он пытается использовать все ключи для аутентификации, хотя я говорю SSH использоватьIdentitiesOnly
Я удалил его ~/.putty
, так как видел эту рекомендацию ранее, но я все еще получаю те же ошибки (после принятия отпечатка пальца).
Любая помощь, идеи или предложения приветствуются. Я искал в сети и ничего не нашел, так что если это дубликат, дайте мне знать.
Спасибо
решение1
ВНИМАНИЕ: FileZilla пытается подключиться, используя ключи в каталоге .ssh.
У меня была та же проблема. Проведя анализ журналов FileZilla (журналы отладки можно включить, установив уровень отладки = 3 в Правка > Настройки > Отладка), я заметил, что он печатает строку filezilla Trying Pageant key #
для каждой неудачной попытки аутентификации на сервере.
После 5 неудачных попыток соединение отключается и выводится сообщение об ошибке «Слишком много ошибок аутентификации».
Решение: Переложите ключи в другое место.
FileZilla использует механизм Pageant и пытается аутентифицироваться с помощью ключей, уже сохраненных в каталоге .ssh. У меня были некоторые ключи, сохраненные в каталоге .ssh для подключения к моим локальным виртуальным машинам. Я просто переместил все ключи в подкаталог в .ssh. Я попробовал подключиться снова, и FileZilla заработала нормально.
решение2
У меня та же проблема, и я нашеллучше решение, чем отодвигать ключи.
Запустите filezilla с env
переменной 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/как-восстановить-после-слишком-многих-сбоев-аутентификации-для-пользователя-root
решение4
В журнале трассировки есть строка:
Pageant идет. Запрос ключей.
У Pageant есть 10 ключей SSH-2
sshd_config (на сервере) имеет параметр MaxAuthTries
, имеющий default
значение6
поэтому, чтобы предотвратить слишком много попыток аутентификации на одно соединение, нам нужно уменьшить количество ключей/идентификаторов ssh
- комментарий ко всем остальным записям хоста, identityFiles в
~/.ssh/config
- попробуйте переместить неиспользуемые ключи в
~/.ssh/*
новый подкаталог (пример: ~/.ssh/sftp-keys ) - используйте
ssh-add -D
для удаления всех идентификационных данных из агента. - добавьте идентификатор, который вы хотите использовать для подключения
ssh-add ~/ssh/sftp-keys/serverid_rsa
попробуйте подключиться заново.
Если все еще нет результата, пожалуйста, повторно вставьте новый журнал трассировки.