Я пытаюсь настроить 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 (?) В конфигурации, которая мешает ему читать пользовательскую среду?
.ssh/environment
файле двойные кавычки ?Ответы:
Решением было попытаться запустить ssh в режиме отладки, запустив другой порт:
затем запустить клиент с
и стало видно, что он на самом деле подхватывает окружающую среду. Проблема была в том, что ssh перезапускает скрипт NAS
действительно не перезапустил sshd, а только отбросил существующие соединения и не смог перечитать конфиг. После перезапуска был поднят конфиг и все начало работать.
источник