Привязка каталога сервера Git к порту

Перенаправление локального порта означает перенаправление порта на клиентском компьютере SSH через сервер SSH, а не на Это. IP-адрес, который вы указываете в аргументе, - это любой адрес / имя хоста, доступные с вашего SSH-сервера. Таким образом, если ящик Wintendo находится за сервером, к которому вы можете подключиться по SSH, и доступен с него, вы просто можете сделать это на своем клиенте:

$ ssh -L 7000:<IP of Windows box>:3389 <SSH server>

Затем вы можете подключиться к порту вашего клиента 7000, и соединение будет перенаправлено через ваш SSH сервер на порт 3389 окна Windows.

-1
06.02.2019, 02:28
1 ответ

Хорошо, мне удалось найти ответ. Все должно быть сделано от имени пользователя root, чтобы репозиторий Git, заключенный в chroot, работал. Итак, первое, что нужно сделать, это настроить каталог тюрьмы chroot

.
  /git/server/repos

Это удобное руководство показывает, как выполняется процессhttps://www.tecmint.com/restrict-ssh-user-to-directory-using-chrooted-jail/Когда у вас есть chroot-джейл для пользователя git, вы настраиваете конфигурацию sshd _и добавляете

Port 2200

Перезапустите службу sshd. Затем вам нужно добавить каталог usr, за которым следует bin, в тюрьму chroot и переместить команды git.

 mkdir -p usr/bin

 cp -v /usr/bin/git* /usr/bin/

Существуют библиотечные файлы, необходимые для команд git, поэтому запуск ldd для команды в каталоге bin даст вам имя файла lib.

ldd /usr/bin/git

Файл библиотеки, который я скопировал, был

cp -v /lib64/libz.so.1/lib64/

Теперь вы создаете свой репозиторий git как обычно, но он должен быть таким же корневым, как и все остальное, а затем вы

chmod -R 777 mygitrepo.git

Теперь пользователь git, находящийся в chroot, может отправлять и получать данные из репозитория с помощью команд git согласно синтаксису

ssh://git@myserver:2200/mygitrepo.git

Вместо абсолютного пути, если git не был заключен в тюрьму chroot

ssh://git@myserver:2200/git/server/repos/mygitrepo.git
0
28.01.2020, 05:12

Теги

Похожие вопросы