.ssh / environment не работает на Synology dsm3.2. Как исправить / отладить?

0

Я пытаюсь настроить git на Synology NAS через ssh. Я создал пользователя git, установил аутентификацию с помощью закрытого ключа и установил пакет git. Я могу успешно войти в систему, используя закрытые ключи, и сделать так, чтобы git in / opt / bin работал локально (на NAS).

Чтобы это работало, я изменил / etc / ssh / sshd_config, чтобы иметь:

PubkeyAuthentication yes                                                   
AuthorizedKeysFile      .ssh/authorized_keys                               

PermitUserEnvironment yes

Но я все еще не могу заставить его работать удаленно.

Кажется, проблема в пути, используемом ssh, когда я выполняю удаленные команды. Я могу подтвердить это, потому что, когда я делаю

ssh gitowner@nas.home echo \$PATH

я получил

/usr/bin:/bin:/usr/sbin:/sbin:/usr/syno/bin

который отличается от интерактивной оболочки, которая дает мне:

PATH='/opt/bin:/opt/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/syno/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin'

Я создал .ssh / environment со следующим содержанием

PATH='/opt/bin:/opt/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin'

но это все еще не решает проблему. Похоже, его содержимое не читается.

Я попытался с разрешениями файла среды, установленными в -rw ------- и -rw-r - r--, но также безрезультатно.

Что еще мне может не хватать sshd (?) В конфигурации, которая мешает ему читать пользовательскую среду?

aliher
источник
Есть ли в вашем .ssh/environmentфайле двойные кавычки ?
chepner
Нет, не совсем, я обновлю вопрос. Я мог бы попробовать это в отчаянии.
Али

Ответы:

0

Решением было попытаться запустить ssh в режиме отладки, запустив другой порт:

/usr/sbin/sshd -d -D -p 222

затем запустить клиент с

ssh -v -p 222

и стало видно, что он на самом деле подхватывает окружающую среду. Проблема была в том, что ssh перезапускает скрипт NAS

/usr/syno/etc/rc.d/S95sshd.sh restart

действительно не перезапустил sshd, а только отбросил существующие соединения и не смог перечитать конфиг. После перезапуска был поднят конфиг и все начало работать.

aliher
источник