Sftp и SMB терпят неудачу в Dolphin, но работают с консоли

Я использую 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://* ярлыки у дельфина терпят неудачу сейчас, но mount -t cifs * до сих пор работает просто отлично, пока я указываю -o vers=3.0,

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

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

1 ответ

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

Согласно этому сообщению об ошибке, проблема заключается в 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-шифры...

Другие вопросы по тегам