Как подключить общую папку Windows Server на Mac и настроить автоподключение
Практический кейс: Mac видит сервер через VPN и порт SMB доступен, но подключение завершается ошибкой Authentication error. Показываем диагностику, правильный формат учётной записи и автоматическое переподключение общей папки.
smb:// решило проблему. Для повторных подключений настроили скрипт и LaunchAgent без хранения пароля в открытом виде.Исходная ситуация
MacBook подключался к офисной сети по VPN. Сервер отвечал на ping, а TCP-порт 445 был доступен. Однако стандартная команда просмотра общих папок запрашивала пароль и возвращала ошибку:
smbutil view //192.168.1.10 server rejected the authentication: Authentication error
Это важный симптом: если сервер доступен и порт 445 открыт, сначала следует проверять не сеть, а имя учётной записи и способ аутентификации.
Шаг 1. Проверяем маршрут, связь и SMB
route -n get 192.168.1.10 | grep interface ping -c 4 192.168.1.10 nc -vz -G 3 192.168.1.10 445
Если порт 445 закрыт, исправлять учётную запись рано: сначала проверьте VPN-маршрут, правила межсетевого экрана и службу общего доступа на Windows Server.
Шаг 2. Указываем Windows-пользователя явно
Локальное имя пользователя macOS и имя пользователя Windows часто не совпадают. Поэтому перед IP-адресом сервера указываем именно Windows-учётную запись:
smbutil view //windows-user@192.168.1.10
После ввода корректного пароля сервер вернул список доступных ресурсов, включая общую папку files. Значит, сеть, SMB и права на сервере работали — неверным был только контекст аутентификации.
Шаг 3. Подключаем папку в Finder
Откройте Finder → «Переход» → «Подключение к серверу» и укажите:
smb://windows-user@192.168.1.10/files
Тот же адрес можно открыть из Терминала:
open "smb://windows-user@192.168.1.10/files"
После успешной авторизации ресурс появится в Finder и будет смонтирован в каталоге /Volumes/files.
Шаг 4. Настраиваем автоматическое переподключение
VPN может подниматься уже после входа пользователя в macOS. Поэтому однократного запуска при входе недостаточно: скрипт периодически проверяет порт 445 и подключает папку только тогда, когда сервер действительно доступен.
Создайте файл ~/mount-files.sh:
#!/bin/bash
SERVER="192.168.1.10"
SHARE="files"
USER="windows-user"
MOUNT="/Volumes/$SHARE"
while true; do
if nc -z -G 2 "$SERVER" 445; then
if ! mount | grep -q "on $MOUNT "; then
echo "$(date): SMB доступен, подключаем //$SERVER/$SHARE"
open "smb://$USER@$SERVER/$SHARE"
sleep 8
fi
fi
sleep 10
done Сделайте скрипт исполняемым:
chmod +x ~/mount-files.sh
Шаг 5. Запускаем скрипт через LaunchAgent
Создайте файл ~/Library/LaunchAgents/local.mount-files.plist. В строке пути замените USERNAME на имя папки пользователя macOS.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>local.mount-files</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/Users/USERNAME/mount-files.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardOutPath</key>
<string>/tmp/mount-files.log</string>
<key>StandardErrorPath</key>
<string>/tmp/mount-files-error.log</string>
</dict>
</plist> Проверьте plist и загрузите агент:
plutil -lint ~/Library/LaunchAgents/local.mount-files.plist launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/local.mount-files.plist launchctl print gui/$(id -u)/local.mount-files
После изменений агент можно перезапустить:
launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/local.mount-files.plist launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/local.mount-files.plist
Для диагностики смотрите журнал:
tail -f /tmp/mount-files.log
Что получилось
- VPN-маршрут и порт 445 проверяются отдельно от аутентификации.
- Ошибка
Authentication errorустранена явным указанием Windows-пользователя. - Повторное подключение работает без ручного открытия Finder.
- Имена клиента и параметры его сети не публикуются.
Если решение не сработало
- Проверьте, что пользователь имеет права на общий ресурс и NTFS-папку.
- Удалите устаревшую запись сервера из Связки ключей и выполните вход заново.
- Уточните имя ресурса командой
smbutil view. - Проверьте, не меняется ли IP-адрес сервера и доступен ли TCP/445 после подключения VPN.
Не получилось подключить общую папку?
Специалисты «Консоль» проверят VPN, SMB, права доступа и настроят безопасное автоподключение на Mac.
Получить удалённую помощь Подробнее об удалённой поддержке