Я использую KDE на openSUSE Leap 42, и я могу нормально подключиться к серверу sftp из консоли:

sftp <user>@<server>

Тем не менее, когда я пытаюсь сделать то же самое в Dolphin:

sftp://<user>@<server>

Я получаю это сообщение:

kex error : no match for method mac algo client->server: server [hmac-sha2-256,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-512-etm@openssh.com,umac-128-etm@openssh.com,umac-128@openssh.com], client [hmac-sha1]

Я проверил, что openssh является текущим, и хотя я не совсем уверен, где я могу найти процитированные алгоритмы sha2 на моей машине, я предполагаю, что они должны быть установлены, потому что в противном случае соединение sftp командной строки не могло бы работать. быстрый поиск находит только одного поставщика /usr/bin/sftp , который является openssh , поэтому может показаться, что это то, что работает в обоих случаях, и Dolphin не использует другую реализацию sftp.

Итак: Почему бы Dolphin не смог использовать алгоритм, который команда sftp, кажется, счастливо поддерживает? Я не нашел ни одного места с конфигурацией sftp, которое было бы эксклюзивным для Dolphin.

Сервер является устройством Synology NAS, на котором установлена последняя версия DSM (6.1), и я не могу изменить конфигурацию.

Обновление Похоже, что для SAMBA существует очень похожая проблема: я получаю доступ к общим ресурсам SAMBA (с w-сервера Windows), которые недавно были обновлены и теперь требуют версии протокола 3.0 и выше. И разве вы этого не знаете, все мои ярлыки smb://* в dolphin теперь терпят неудачу, но mount -t cifs * прежнему работает просто отлично, пока я указываю -o vers=3.0 .

Это означает, что dolphin использует другую реализацию протоколов или обертку для них, которая удаляет многие параметры, доступные в версии командной строки (например, доступ к последним версиям протокола).

... или, может быть, есть способ указать некоторые дополнительные параметры в строке URL в дельфинах, о которых я не знаю?

1 ответ1

0

Частичное решение (только для малого и среднего бизнеса):

Согласно этому сообщению об ошибке, проблема связана с smbhelper , который по-прежнему застрял с SMB1 по умолчанию и отказывается подниматься выше, если явно не сказано об этом (мне кажется, это ужасная идея, но я ее не разработал, так что, возможно, есть причина, которая имела смысл в то время?)

Вы можете указать smbhelper изменить его поведение, создав файл ~/.smb/smb.conf со следующим содержимым:

[global]
    client max protocol = SMB3

После этого все подключения SMB, которые я добавил в закладки в Dolphin, работали без проблем.

Больше вещей, которые не работают:

Я также попытался добавить строку client max protocol в глобальный smb.conf в \etc\samba\ (и удалить его из локальной), но, как ни странно, это работало только для подмножества общих ресурсов SAMBA, которые я пытаюсь доступ. Поскольку локальное решение мне подходит, в данном случае это не проблема, хотя на многопользовательских машинах это будет раздражать ...

Ранее я получил совет добавить min protocol = SMB3 в /etc/samba/smb.conf но это ничего не сделало для меня.

И, конечно же, это все еще оставляет загадку, как убедить Дельфина использовать современные sftp-шифры ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .